如何格式化包含逗号的电子邮件“发件人”标题

时间:2013-03-21 18:40:03

标签: email email-headers

格式化“发件人”电子邮件标头的标准方法是

From: John Doe <john.doe@example.com>

但如果名字中有逗号怎么办?

From: John Doe, chief bottle washer <john.doe@example.com>

如果我这样做,我的MTA会自动将其转换为:

From: John@this.server.com, Doe@this.server.com, chief bottle washer <john.doe@example.com>

我的第一个猜测是在全名周围使用双引号,但我找不到任何正式文件确认这一点,我希望所有电子邮件客户端都能读取我的电子邮件。

3 个答案:

答案 0 :(得分:22)

要详细说明@ Fls'Zen的答案,是的,正确的方法是将名称括在双引号中。

从实际的角度来看,用双引号包装所有名称都没有坏处,如果它出现在显示名称\"中,或者只是替换为单引号,请务必转义双引号。引用)。但是如果你想完全按照规范,你不应该使用双引号。

对于所有密集的详细信息,电子邮件标题字段由RFC 5322定义。 “发件人”标题中多个发起人的相关部分为3.6.2,引用分隔符的相关部分为3.2.13.2.4

答案 1 :(得分:3)

电子邮件标题字段由RFC 5322定义。 From标题中多个发起人的相关部分为3.6.2。引用分隔符的相关部分是3.2.13.2.4

答案 2 :(得分:1)

following regular expression matches时,必须引用电子邮件显示地址。

[^-A-Za-z0-9!#$%&'*+/=?^_`{|}~\s]

对于ASCII字符,可以通过使用反斜杠转义任何双引号字符并将字符串括在双引号中来完成。对于非ASCII字符,需要更复杂的MIME escaping