2017-08-28 40 views

回答

3

逗號(,)是正確的字符,每RFC 6068規格:

to = addr-spec *("," addr-spec)

然而,如在this Stack Overflow answer指出的,一些用戶可能具有的Outlook配置爲使用半這將帶來問題:

即使RFC明確建議一個逗號,Microsoft Outlook將使用區域設置中定義的「列表分隔符」。您的mailto鏈接可能無法正常工作,您的Windows + Outlook用戶的系統配置了不同的列表分隔符(如分號)。 Outlook只會拒絕用逗號分割電子郵件地址。

我知道這不是你想聽到的答案。您可以將Outlook配置爲查找逗號而不是分號,但這是必須爲每個用戶完成的事情 - 而不是您可以在服務器端或從應用程序執行的操作。您可以編碼檢查Outlook是否被用作客戶端,但除此之外,您的選擇是有限的。

來源:

UPDATE:

正如@克里斯提到,RFC 5322還指定逗號作爲接受者之間的 「官方」 分隔符:

to = "To:" address-list CRLF
cc = "Cc:" address-list CRLF
bcc = "Bcc:" [address-list/CFWS] CRLF
address-list = (address *("," address))/obs-addr-list

+1

它大概值得引用的https: //tools.ietf.org/html/rfc5322。 6068指定了主要處理「To」的href格式,但是對於僅僅是cc的cc而言,當使用時,cc字段是6068規範中的「hfield」,其基本上是指定標題的一種方式:「分別是[RFC5322]標頭字段名稱和值的編碼。「所以CC字段的格式由5322指定。當然仍然使用逗號作爲分隔符,所以結論仍然是一樣的和準確的。 – Chris

+0

謝謝@Chris,我會加入。 – freginold

相關問題