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

时间:2012-02-14 14:11:41

标签: javascript jquery asp.net html

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

<a href='mailto:one@email.com,two@email.com....400@email.com'>open emails</a>

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

8 个答案:

答案 0 :(得分:11)

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

<a href='mailto:one@email.com;two@email.com;three@email.com'>Contact us</a>

如果您想自动包含主题行,请添加“?subject =这是主题”

<a href='mailto:one@email.com;two@email.com;three@email.com?subject=Webpage contact'>Contact us</a>

答案 1 :(得分:9)

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

mailto URL采用以下形式:

    mailto:<rfc822-addr-spec>

其中是(编码)addr-spec,as    RFC 822 [6]中规定。

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

 addr-spec   =  local-part "@" domain

更具体地说,RFC 1738没有说URL采用RFC822地址规范的形式,而是直接说出了addr-spec的编码。

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

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

 mailbox     =  addr-spec                    ; simple address
             /  phrase route-addr            ; name & addr-spec

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

 display-name    =       phrase

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

 mailbox         =       name-addr / addr-spec

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

然后,我会得出结论,虽然它可能有效但却没有得到官方的支持。

答案 2 :(得分:4)

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

参考here

答案 3 :(得分:1)

这是一种不好的做法,几乎不可能。尝试重新考虑你的脚本。

  RFC 1783(URL)表示mailto:URL采用RFC822地址   规格。 RFC822已被RFC2822淘汰;和RFC2822说   地址规范可以包括邮箱列表,即   以逗号分隔的邮箱列表。我总结说你在尝试什么   允许这样做。

     

然而,UA对“mailto:”的支持充其量只是补丁;建议   是完全避免它,或者不能限制自己   指定单个地址。

     

特别是试图包括一个主题肯定不会   在所有UA工作。另请注意      

使用formmail脚本要好得多。那会给你的   你似乎想要的多功能性,同时完全回避   mailto:URL方案,它暗示的浏览器支持不足,   以及第一个是否配置了任何电子邮件UA的问题   地点。

     

币:   http://bytes.com/topic/html-css/answers/496355-multiple-addresses-mailto

答案 4 :(得分:1)

您应该创建一个分发列表,并将所有这些电子邮件添加到此列表中。 http://support.microsoft.com/kb/284292

答案 5 :(得分:1)

根据您的使用情况,可能会像这样从浏览器发送电子邮件,但它依赖于用户为mailto正确设置协议处理程序。

对于有限数量的用户,例如一些站点管理员这可能是一个很好的解决方案。您可以控制客户端计算机的设置并确保它可以正常工作。

因此,如果您使用此链接创建了一个页面

mailto:me@example.com?bcc=someone_else@example.com

mailto:someone@example.com?subject=This%20is%20the%20subject&bcc=someone_else@example.com&body=This%20is%20the%20body

剪切并粘贴到地址栏以测试它是否适用于您的计算机。

我不建议将其作为任何优秀软件产品的强大解决方案,您应该使用基于服务器的解决方案。但是,如果您需要某些东西来帮助内部系统,或者只是为了个人网站,那么这将需要几分钟,并且比基于服务器的解决方案更少令人头痛。

发送电子邮件有很多选项,我认为这个选项简单,快速,灵活,但它不适用于所有机器,可能只有70%???

最后一件事,通常是如果您向多个收件人发送电子邮件,请将其发送给您自己并使用Blind Carbon Copy字段(bcc)这意味着您不会与所有其他客户共享客户的电子邮件地址。

<强> TL;博士

总而言之,如果您可以测试/排除将使用电子邮件链接的每台客户端计算机的故障,请考虑使用复杂的mailto链接。否则,请转到服务器端电子邮件。

并使用密件抄送字段发送大量电子邮件。

答案 6 :(得分:0)

我会为这么多人推荐一个DG,但是电子邮件地址不是用逗号分隔的,而是用分号代替的。我读过有些人在mailto行中使用分号有问题。尝试将分号编码为%3B,就像将空格编码为%20一样。

例如,

mailto:someone@somewhere.com%3Banother@thatplace.com?subject=THIS%20IS%20AWESOME

答案 7 :(得分:0)

改用 bcc= 查询。它支持多个以逗号分隔的电子邮件,收件人不会看到其他收件人,而主收件人会显示所有其他收件人:地址(并且还会向该列表中的每个人发送回复。)