如何正确编码电子邮件显示名称中的逗号?

时间:2014-04-20 13:43:28

标签: email zend-framework2

我遇到与this question类似的问题,但在答案中找不到任何有用的信息。

我正在尝试使用Quoted-Printable编码向显示名称为Lastname, firstname的收件人发送电子邮件。如收到的电子邮件来源中所示,确切的标题是:

To: =?UTF-8?Q?"Lastname,=20firstname"?= <email@example.com>

但是,Outlook会像这样显示:

Outlook recipient display

有效地将逗号解释为收件人之间的分隔符,即使它包含在Quoted-Printable编码中。

如果没有逗号,则正确解释标题。

我做错了什么,或者是否无法在display-name中使用逗号?

注意:我目前正在使用Amazon SES和ZF2 Zend\Mail组件,但工具无关紧要,我只对正确的标题格式感兴趣,并会相应地调整我的工具或代码

1 个答案:

答案 0 :(得分:1)

据我所知,你所看到的并不是正确的行为,但解决方法应该是显而易见的:对逗号进行QP编码。双引号是多余的,应该省略:

From: =?UTF-8?q?Lastname=2C_Firstname?= <email@example.com>

(因此,将姓氏放在第一位显然是疯了;但是,例如连接到Active Directory的Outlook似乎坚持这种愚蠢的反公约。)