mailto:具有多个地址和真实姓名

时间:2014-04-01 09:57:55

标签: email mailto

我有后端管理工具,可以管理在不同部分工作的许多人群。我不时需要通过电子邮件发送一个组中的所有人,因此我在我的管理工具中创建了一个按钮,该按钮执行简单的mailto:对于该部分中的所有用户。例如:

<a href="mailto:foo@bar.com, an@example.com, test@testing.com">Mail All</a>

这很好用。但是,我想将他们的真实姓名添加到mailto链接中,所以当我发送邮件时,我可以快速查看该组中的人员。所以我尝试将链接格式化为:

<a href="mailto:Foo%20Foo&lt;foo@bar.com&gt,Anne%20Example&lt;an@example.com&gt;,Mr%20Test&lt;test@testing.com&gt;">Mail All</a>

但这似乎只是拿起第一个电子邮件地址,并将“真实姓名”列为逗号一个长名称。

在网上搜索时,文档中很少有真实姓名的地址(发送时只能找到信息)。所以想知道这是否(a)不可能,(b)可能,但我的语法错误或c)只有在我使用一种解决方法,如将所有电子邮件地址数据复制到剪贴板并粘贴到邮件中时才有可能

那里有电子邮件大师吗?

2 个答案:

答案 0 :(得分:1)

我有同样的问题。我上当了,并使用UTF-8编码让它工作。

"First Last" <firstlastname@example.com>

变为

<a href="mailto:%22First%20Last%22%20%3cfirstlastname@example.com%3e">Send Email</a>

我还可以按照上面的示例添加一个包含多个地址的密件抄送字段,并用逗号分隔。

通过将“mailto:”替换为“https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=”来在Outlook和Gmail Compose中启动

答案 1 :(得分:0)

我说“不可能”,至少我解释RFC 6068的方式:

The syntax of a 'mailto' URI is described using the ABNF of [STD68], 
non-terminal definitions from [RFC5322] (dot-atom-text, quoted-   
string), and non-terminal definitions from [STD66] (unreserved, pct-  
encoded):

  mailtoURI    = "mailto:" [ to ] [ hfields ]
**to           = addr-spec *("," addr-spec )
  hfields      = "?" hfield *( "&" hfield )
  hfield       = hfname "=" hfvalue
  hfname       = *qchar
  hfvalue      = *qchar
**addr-spec    = local-part "@" domain
**local-part   = dot-atom-text / quoted-string
  domain       = dot-atom-text / "[" *dtext-no-obs "]"
  dtext-no-obs = %d33-90 / ; Printable US-ASCII
                 %d94-126  ; characters not including
                           ; "[", "]", or "\"
  qchar        = unreserved / pct-encoded / some-delims
  some-delims  = "!" / "$" / "'" / "(" / ")" / "*"
               / "+" / "," / ";" / ":" / "@"

(我用**标记了有趣的规则)

具体做法是:

  

&LT;地址规格&GT;是 [RFC5322]中指定的邮件地址,但不包括   &LT;注释&GT;从 [RFC5322]

您尝试使用的地址格式在RFC5322中称为name-addraddr-spec只是名称@ domain part。