当我使用mailto:时,是否可以设置电子邮件的主题/内容?
当前回答
mailto: URL方案在RFC 2368中定义。此外,在RFC 1738和RFC 3986中定义了将信息编码为url和uri的约定。它们规定了如何将正文和主题标题包含到URL (URI)中:
mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
具体来说,您必须对电子邮件地址、主题和正文进行百分比编码,并将它们放入上述格式。百分比编码的文本在HTML中使用是合法的,但是根据HTML4标准,这个URL必须是在href属性中使用的实体编码:
<a href="mailto:infobot@example.com?subject=current-issue&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>";
?>
其他回答
mailto: URL方案在RFC 2368中定义。此外,在RFC 1738和RFC 3986中定义了将信息编码为url和uri的约定。它们规定了如何将正文和主题标题包含到URL (URI)中:
mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
具体来说,您必须对电子邮件地址、主题和正文进行百分比编码,并将它们放入上述格式。百分比编码的文本在HTML中使用是合法的,但是根据HTML4标准,这个URL必须是在href属性中使用的实体编码:
<a href="mailto:infobot@example.com?subject=current-issue&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>";
?>
如果你想添加html内容到你的电子邮件,url编码你的html代码的消息体,并包括在你的mailto链接代码,但问题是你不能设置电子邮件的类型从明文到html,客户端使用链接需要他们的邮件客户端默认发送html电子邮件。如果你想测试的话,这里有一个简单的mailto链接的代码,链接中包含一个图像(添加angular风格的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="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>
您可以使用此代码设置主题,正文,抄送,密件
注意,根据RFC 2368,不能在消息体中使用HTML:
特殊名称“body”表示关联的hvalue是消息体。“body”名称应该包含消息的第一个文本/纯正文部分的内容。mailto URL主要用于生成短文本消息,这些消息实际上是自动处理的内容(例如邮件列表的“订阅”消息),而不是一般的MIME体。
来源:https://stackoverflow.com/a/13415988/1835519
是的:
使用它来试验mailto表单元素和链接编码。
你可以输入主题,主体(即内容)等到表单,点击按钮,看到mailto html链接,你可以粘贴到你的页面。
你甚至可以指定很少被知道和使用的元素:抄送,密件抄送,从电子邮件。