使用html Mailto通过电子邮件发送给多个收件人:无法正常工作

Sal*_*ziz 14 html javascript asp.net jquery

我们有400到500个电子邮件,当我们连接它们并将它们放入mailto:它不起作用时,浏览器会自动在电子邮件之间添加"..."并且单击链接不起作用.

<a href='mailto:one@email.com,two@email.com....400@email.com'>open emails</a>
Run Code Online (Sandbox Code Playgroud)

mailto:属性是否有最大长度?有没有其他方式我可以打开多个电子邮件?

小智 11

如果您需要通过电子邮件发送多个(但不是数百个),则正确的表单不应包含空格,但应具有分号(特别是如果用户可能使用Outlook).

<a href='mailto:one@email.com;two@email.com;three@email.com'>Contact us</a>
Run Code Online (Sandbox Code Playgroud)

如果要自动包含主题行,请添加"?subject =这是主题"

<a href='mailto:one@email.com;two@email.com;three@email.com?subject=Webpage contact'>Contact us</a>
Run Code Online (Sandbox Code Playgroud)

  • Outlook 需要“;”,而其他所有内容都需要“,”。规范是“,”...所以 Outlook 已经被破坏并且多年来没有得到修复,并且您无法知道用户正在使用什么客户端,所以这非常酷。 (2认同)

小智 9

只是添加更多细节...... RFC 1738实际上说的是什么

mailto URL采用以下形式:

    mailto:<rfc822-addr-spec>
Run Code Online (Sandbox Code Playgroud)

其中是(编码)addr-spec,如RFC 822 [6]中所述.

虽然RFC2822可能包含RFC822,但RFC2822并未将addr-spec规范(第3.4.1节)更改为

 addr-spec   =  local-part "@" domain
Run Code Online (Sandbox Code Playgroud)

更具体地说,RFC 1738并未说URL采用RFC822地址规范的形式,而是直接表示addr-spec的编码.

确实,在RFC2822的3.4节地址规范中,组的定义是在RFC822中修改的,

 group       =  phrase ":" [#mailbox] ";"

 mailbox     =  addr-spec                    ; simple address
             /  phrase route-addr            ; name & addr-spec
Run Code Online (Sandbox Code Playgroud)

 group           =       display-name ":" [mailbox-list / CFWS] ";"

 display-name    =       phrase

 mailbox-list    =       (mailbox *("," mailbox)) / obs-mbox-list

 mailbox         =       name-addr / addr-spec
Run Code Online (Sandbox Code Playgroud)

它允许多个addr-specs,但同样,addr-spec本身的定义保持不变.

那么,我会得出结论,尽管它可能有效,但它并未获得官方支持.


Ari*_*ion 5

maxlength 2048(如果您使用的是 Internet Explorer)。我想你可能会重新考虑你的解决方案。

参考这里