ฉันสามารถตั้งค่าหัวเรื่อง / เนื้อหาของอีเมลโดยใช้ mailto:?


889

เป็นไปได้ไหมที่จะตั้งหัวข้อ / เนื้อหาของอีเมลเมื่อฉันใช้ mailto:



6
คุณสามารถตั้งค่าทุกส่วนของอีเมล ต่อไปนี้เป็นเครื่องมือที่ฉันสร้างขึ้นเพื่อทำให้ตายง่าย: mailto.now.sh
Dawson B

คำตอบ:


1459

ใช่ดูเคล็ดลับและลูกเล่นทั้งหมดด้วย mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

ตัวอย่างหัวเรื่องของ mailto:

<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>

mailto ด้วยเนื้อหา:

<a href="mailto:no-one@snai1mai1.com?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>

ตามที่กล่าวถึงในความคิดเห็นทั้งsubjectและbodyจะต้องหลบหนีอย่างเหมาะสม ใช้encodeURIComponent(subject)กับแต่ละตัวแทนที่จะใช้รหัสสำหรับกรณีเฉพาะ

ในฐานะที่เป็นHoodyกล่าวถึงในความคิดเห็นที่คุณสามารถเพิ่มบรรทัดโดยการเพิ่มลำดับต่อไปนี้ในการเข้ารหัสสตริง:

%0D%0A // one line break

29
เป็นไปได้ไหมที่จะใช้ HTML สำหรับร่างกาย?
Jiew Meng

18
นั่นคือลูกค้าที่เฉพาะเจาะจงทั้งหมด ในกรณีทั่วไปหมายเลข
tripleee

4
เช่นเดียวกับการอ้างอิง: คุณไม่ต้อง htmlescape เรื่อง
Oscar Pérez

17
โปรดทราบว่า W3C ต้องการให้คุณเข้ารหัสสตริงตามกฎเหล่านี้: อักขระควรแสดงใน NFC และควรเว้นวรรคเป็น% 20
gordie

96
ในกรณีที่คนอื่นสงสัยคุณยังสามารถเพิ่มตัวแบ่งบรรทัดในร่างกายโดยใช้ลำดับ% 0D% 0A - cubetoon.com/2008/…
Hoody

123
<a href="mailto:manish@simplygraphix.com?subject=Feedback for 
webdevelopersnotes.com&body=The Tips and Tricks section is great
&cc=anotheremailaddress@anotherdomain.com
&bcc=onemore@anotherdomain.com">Send me an email</a>

คุณสามารถใช้รหัสนี้เพื่อตั้งค่าหัวเรื่อง, ร่างกาย, cc, bcc


39

mailto:โครงการ URL ที่ถูกกำหนดไว้ในRFC 2368 นอกจากนี้การประชุมสำหรับการเข้ารหัสข้อมูลเป็น URL และยูริถูกกำหนดไว้ในRFC 1738และจากนั้นRFC 3986 สิ่งเหล่านี้กำหนดวิธีรวมbodyและsubjectส่วนหัวไว้ใน URL (URI):

mailto:infobot@example.com?subject=current-issue&body=send%20current-issue

โดยเฉพาะคุณต้องเข้ารหัสเปอร์เซ็นต์ที่อยู่อีเมลชื่อเรื่องและเนื้อหาและใส่ลงในรูปแบบด้านบน ข้อความที่เข้ารหัสเป็นเปอร์เซ็นต์นั้นถูกกฎหมายสำหรับใช้ใน HTML อย่างไรก็ตาม URL นี้ต้องเป็นเอนทิตีที่เข้ารหัสเพื่อใช้ในhrefแอตทริบิวต์ตามมาตรฐาน HTML4 :

<a href="mailto:infobot@example.com?subject=current-issue&amp;body=send%20current-issue">Send email</a>

และโดยทั่วไปนี่คือสคริปต์ PHP แบบง่ายที่เข้ารหัสตามข้างต้น

<?php
$encodedTo = rawurlencode($message->to);
$encodedSubject = rawurlencode($message->subject);
$encodedBody = rawurlencode($message->body);
$uri = "mailto:$encodedTo?subject=$encodedSubject&body=$encodedBody";
$encodedUri = htmlspecialchars($uri);
echo "<a href=\"$encodedUri\">Send email</a>";
?>

นี่คือตัวอย่างที่ลึกซึ้งยิ่งขึ้นหากอีเมลของคุณมี URL อยู่และ URL นั้นมีสิ่งที่ต้องเข้ารหัส: stackoverflow.com/questions/4744888//
William Entriken

1
ฉันคิดว่ามีการพิมพ์ผิดในบรรทัด$uri = ...: &ด้านหน้าsubjectควรจะเป็น?
jost21 21

24

คุณสามารถเพิ่มหัวเรื่องที่เพิ่มให้กับคำสั่ง mailto โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ เพิ่ม mailto ให้กับแท็ก mailto

<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>

นอกจากนี้เรายังสามารถเพิ่มข้อความลงในเนื้อความของข้อความโดยการเพิ่ม & body ไว้ท้ายแท็กดังที่แสดงในตัวอย่างด้านล่าง

 <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>

นอกเหนือจากเนื้อหาแล้วผู้ใช้ยังสามารถพิมพ์ & cc หรือ & bcc เพื่อกรอกฟิลด์ CC และ BCC

<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
    Example</a>

วิธีเพิ่มหัวข้อให้กับแท็ก mailto


13

ฉันสร้างเครื่องมือโอเพนซอร์สเพื่อทำให้ง่าย ป้อนสตริงที่คุณต้องการและคุณจะได้รับmailto:

mailto.now.sh

💌⚡️เทมเพลตอีเมลเต็มรูปแบบใน mailto

ป้อนคำอธิบายรูปภาพที่นี่



9

ฉันแบ่งมันเป็นเส้นแยกเพื่อให้อ่านง่ายขึ้นเล็กน้อย

<a href="

    mailto:johndoe@gmail.com

    ?subject=My+great+email+to+you

    &body=This+is+an+awesome+email

    &cc=janedoe@gmail.com

    &bcc=billybob@yahoo.com

">Click here to send email!</a>

1
คำถามนี้ตอบเมื่อ 5 ปีที่ผ่านมา
varun aaruru

14
และมันยังคงถูกนำมาใช้ในวันนี้เมื่อคุณต้องการที่จะส่งบางสิ่งบางอย่าง
quemeful

8

นี่คือเคล็ดลับ http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text

<a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>

+ จำเป็นต้องใช้แทนที่ช่องว่างหรือไม่ ทำงานได้ดีโดยไม่ต้องใช้ Gmail
SuperUberDuper

7

ใช่:

ใช้สิ่งนี้เพื่อทดลองกับองค์ประกอบของแบบฟอร์ม mailto และการเข้ารหัสลิงก์

คุณสามารถป้อนหัวเรื่องเนื้อหา (เช่นเนื้อหา) ฯลฯ ลงในแบบฟอร์มกดปุ่มและดูลิงก์ mailto html ที่คุณสามารถวางลงในหน้าของคุณ

คุณสามารถระบุองค์ประกอบที่ไม่ค่อยรู้จักและใช้งาน: cc, bcc จากอีเมล


คุณลักษณะที่มีประโยชน์มากของผู้แต่งฟิลด์ href นี้คือความสามารถในการเข้ารหัสอักขระทุกตัวให้เป็นเลขฐานสิบหก (เช่น: [Test Zõne]กลายเป็น%5BTest%20Z%C3%B5ne%5Dสิ่งนี้อาจหลีกเลี่ยงบ็อตสแปมบางส่วน)
Armfoot

ฉันหมายความว่าถ้าคุณเลือกที่จะเข้ารหัสตัวละครทั้งหมดพวกเขาทั้งหมดจะถูกแปลงเป็นสัญลักษณ์ HTML &#x(หลีกเลี่ยงบอทสแปมบางส่วน)
Armfoot

4
ลิงค์นี้จะตาย
Bram Vanroy

6

ใช่คุณสามารถชอบสิ่งนี้:

mailto: email@host.com?subject=something

2
ฉันไม่คิดว่าควรจะมีพื้นที่ว่างเหรอ?
nafg

ควรจะไม่มีที่ว่าง
Hassan Raza

5

โปรดทราบว่ามันเป็นไปไม่ได้ที่จะใช้ HTML ในเนื้อหาข้อความตามRFC 2368 :

hname พิเศษ "body" ระบุว่า hvalue ที่เกี่ยวข้องคือเนื้อความของข้อความ hname "body" ควรมีเนื้อหาสำหรับส่วนข้อความ / ส่วนแรกของข้อความ mailto URL นั้นมีไว้สำหรับการสร้างข้อความสั้น ๆ ที่จริงแล้วเป็นเนื้อหาของการประมวลผลอัตโนมัติ (เช่นข้อความ "สมัครสมาชิก" สำหรับรายชื่อรับเมล) ไม่ใช่เนื้อหาทั่วไปของ MIME

เครดิต: https://stackoverflow.com/a/13415988/1835519


2
คำถามกำลังถามถึงวิธีการตั้งค่าหัวเรื่องและเนื้อหา ไม่ได้พูดถึงการจัดรูปแบบ ในขณะที่เป็นสิ่งที่มีประโยชน์ที่จะต้องทราบในคำตอบคุณทิ้งบิตเกี่ยวกับสิ่งที่เป็นไปได้และวิธีการบรรลุ หากปราศจากนั่นคือความคิดเห็นไม่ใช่คำตอบ
เควนติน

ฉันขอขอบคุณคุณจริงๆที่ให้คำตอบสำหรับคำถามนี้เพราะนี่คือสิ่งที่ฉันต้องการเพื่อค้นหาและถามตัวเอง ดังนั้นในขณะที่เควนตินคิดว่าสิ่งนี้ไม่ตอบคำถาม OP แต่เป็นคำตอบของฉันที่ฉันค้นหาซึ่งทำให้เกิดโพสต์นี้ ขอบคุณมาก Jure!
user1567291

3

ต่อไปนี้เป็นข้อมูลโค้ดที่ทำงานได้เพื่อช่วยคุณสร้าง mailto: ลิงก์ที่มีหัวเรื่องและเนื้อหาที่เป็นตัวเลือก

function generate() {
  var email = $('#email').val();
  var subject = $('#subject').val();
  var body = $('#body').val();

  var mailto = 'mailto:' + email;
  var params = {};
  if (subject) {
    params.subject = subject;
  }
  if (body) {
    params.body = body;
  }
  if (params) {
    mailto += '?' + $.param(params);
  }

  var $output = $('#output');
  $output.val(mailto);
  $output.focus();
  $output.select();
  document.execCommand('copy');
}

$(document).ready(function() {
  $('#generate').on('click', generate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="email" placeholder="email address" /><br/>
<input type="text" id="subject" placeholder="Subject" /><br/>
<textarea id="body" placeholder="Body"></textarea><br/>
<button type="button" id="generate">Generate & copy to clipboard</button><br/>
<textarea id="output">Output</textarea>


1

หากคุณต้องการเพิ่มเนื้อหา html ในอีเมลของคุณให้ url เข้ารหัสรหัส html ของคุณสำหรับเนื้อหาข้อความและรวมไว้ในรหัสลิงก์ mailto ของคุณ แต่ปัญหาคือคุณไม่สามารถกำหนดประเภทของอีเมลจากลิงก์นี้จากข้อความธรรมดาเป็น html ไคลเอ็นต์ที่ใช้ลิงก์จะต้องใช้ไคลเอ็นต์อีเมลเพื่อส่งอีเมล HTML ตามค่าเริ่มต้น ในกรณีที่คุณต้องการทดสอบที่นี่คือรหัสสำหรับลิงก์ mailto อย่างง่ายโดยมีรูปภาพห่ออยู่ในลิงก์ (เพิ่ม URL สไตล์เชิงมุมสำหรับการมองเห็น):

<a href="mailto:?body=%3Ca%20href%3D%22{{ scope.url }}%22%3E%3Cimg%20src%3D%22{{ scope.url }}%22%20width%3D%22300%22%20%2F%3E%3C%2Fa%3E">

แท็ก html ถูกเข้ารหัส url


คุณสามารถโพสต์ตัวอย่างที่เนื้อหา <a href> เพิ่งมี href และข้อความระหว่างมันกับแท็กสิ้นสุดได้หรือไม่ ขอบคุณ
user1567291

<a href="<same ดังกล่าว> "> นี่คือข้อความลิงก์ </a> @ user1567291
serdarsenay

มันใช้งานไม่ได้ ไคลเอนต์อีเมลจะแสดงแท็ก html ทั้งหมดเป็นข้อความแทนที่จะประมวลผลเป็นเอกสารข้อความสมบูรณ์
ΕГИІИО
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.