邮件客户端中HTML邮件链接中的电子邮件分隔字符不同

时间:2017-08-28 17:48:45

标签: html email separator

我通过HTML中的mailto:链接预填充电子邮件的“抄送”和“收件人”字段。当我使用逗号分隔抄送字段中的电子邮件时,它可以在Gmail客户端中使用,但不能在Outlook中使用。当我将其切换为分号时,情况恰恰相反。

我应该使用不同的分隔字符吗?

1 个答案:

答案 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