我通过HTML中的mailto:
链接预填充电子邮件的“抄送”和“收件人”字段。当我使用逗号分隔抄送字段中的电子邮件时,它可以在Gmail客户端中使用,但不能在Outlook中使用。当我将其切换为分号时,情况恰恰相反。
我应该使用不同的分隔字符吗?
答案 0 :(得分:3)
根据RFC 6068规范,逗号(,
)是正确的字符:
to = addr-spec *("," addr-spec )
但是,正如this Stack Overflow answer中所述,某些用户可能将Outlook配置为使用分号代替,这会产生问题:
即使RFC明确建议使用逗号,Microsoft Outlook也会使用"列表分隔符"在区域设置中定义。对于其系统配置了不同列表分隔符(如分号)的Windows + Outlook用户,您的mailto链接可能无法正常工作。 Outlook将拒绝用逗号分隔电子邮件地址。
我知道这不是你想听到的答案。您可以将Outlook配置为查找逗号而不是分号,但这是必须为每个用户完成的事情 - 而不是您可以在服务器端或从您的应用程序执行的操作。您可以编写一个检查代码以查看Outlook是否被用作客户端,但除此之外,您的选项也是有限的。
<强> 来源: 强>
<强>更新强>
如@Chris所述,RFC 5322也将逗号指定为&#34;官员&#34;收件人之间的分隔符:
to = "To:" address-list CRLF
cc = "Cc:" address-list CRLF
bcc = "Bcc:" [address-list / CFWS] CRLF
address-list = (address *("," address)) / obs-addr-list