Can I set subject/content of email using mailto:?
使用mailto:时是否可以设置电子邮件的主题/内容?
是的,看看mailto的所有提示和技巧:http://www.angelfire.com/dc/html-webmaster/mailto.htm
邮件主题示例:
1 | example |
包含内容的邮件收件人:
1 2 | <a href="mailto:?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 |
正如评论中所提到的,
1 2 3 4 | <a href="mailto:[email protected]?subject=Feedback for webdevelopersnotes.com&body=The Tips and Tricks section is great &[email protected] &[email protected]">Send me an email |
您可以使用此代码设置主题、正文、抄送、密件抄送
1 | mailto:[email protected]?subject=current-issue&body=send%20current-issue |
具体地说,您必须对电子邮件地址、主题和正文进行百分比编码,并将它们放入上面的格式中。百分比编码文本在HTML中使用是合法的,但是根据HTML4标准,此URL必须是实体编码,以便在
1 | Send email |
一般来说,这里有一个简单的PHP脚本,可以根据上面的内容进行编码。
1 2 3 4 5 6 7 8 | <?php $encodedTo = rawurlencode($message->to); $encodedSubject = rawurlencode($message->subject); $encodedBody = rawurlencode($message->body); $uri ="mailto:$encodedTo&subject=$encodedSubject&body=$encodedBody"; $encodedUri = htmlspecialchars($uri); echo"Send email"; ?> |
您可以使用以下任一方法向mailto命令添加主题。加法?将mailto置于mailto标签的主题。
1 | First Example |
我们还可以将正文添加到消息正文中,方法是将&body添加到标记的末尾,如下面的示例所示。
1 | Second Example |
除了正文,用户还可以键入&cc或&bcc来填写cc和bcc字段。
1 2 | Third Example |
如何将主题添加到mailto标签
1 | mailto:[email protected]?subject=Your+subject |
这是诀窍http://neworganization.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text(http://neworganization.com/content/blog/tip-prepopulate-mailto-links-with-subject-bo
1 | tell a friend |
我把它分成几行,让它更可读。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <a href=" mailto:[email protected] ?subject=My+great+email+to+you &body=This+is+an+awesome+email &[email protected] &[email protected] ">Click here to send email! |
对:
使用此项对mailto表单元素和链接编码进行实验。
您可以在表单中输入主题、正文(即内容)等,单击按钮并查看可以粘贴到页面中的mailto html链接。
您甚至可以指定很少知道和使用的元素:cc、bcc、来自电子邮件。
是的,您可以这样做:
1 | mailto: [email protected]?subject=something |
请注意,根据RFC 2368,在消息正文中不可能使用HTML:
The special hname"body" indicates that the associated hvalue is the body of the message. The"body" hname should contain the content for the first text/plain body part of the message. The mailto URL is primarily intended for generation of short text messages that are actually the content of automatic processing (such as"subscribe" messages for mailing lists), not general MIME bodies.
学分:https://stackoverflow.com/a/13415988/1835519
下面是一个可运行的代码片段,可以帮助您生成mailto:links,其中包含可选的主题和正文。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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); }); |
1 2 3 4 5 6 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> <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> |
如果您想将HTML内容添加到您的电子邮件中,URL会对邮件正文的HTML代码进行编码,并将其包含在您的mail to链接代码中,但问题是您无法将此链接中的电子邮件类型从纯文本设置为HTML,使用此链接的客户机默认需要其邮件客户端发送HTML电子邮件。如果您想在这里测试一个简单的mailto链接的代码,它的图像包装在一个链接中(为了可见性添加了角度样式的URL):
1 |
HTML标记是URL编码的。
我创建了一个开源工具来简化这个过程。输入您想要的字符串,您将立即获得
???? Template full emails in a mailto