我有一个使用 Postmark 发送电子邮件的 Rails 应用程序(rails 4.1.11)。我正在尝试将用户名包含在我的电子邮件的“收件人”标题中,并且在名称包含逗号的情况下我遇到了麻烦,即使我将名称放在引号中。
我正在生成“To”标题,如下所示:
address = Mail::Address.new user.email
address.display_name = user.name
address.format
(如 Rails ActionMailer 的第二个答案中所建议的- 格式发件人和收件人姓名/电子邮件地址)。这会在必要时自动在名称周围加上引号,因此如果用户的名称是“Sally Smith, MD”,则“To”标题将为"Sally Smith, MD" <sallysmithmd@example.com>
.
但是,当电子邮件送达时,“收件人”标头会呈现为"Sally Smith,sallysmithmd@example.com
(至少它在 Gmail 中是这样显示的)。当我在 Postmark 中查看电子邮件的原始来源时,我看到了预期值To: "Sally Smith, MD" <sallysmithmd@example.com>
. 因此,在 Postmark 和 Gmail 之间的某个地方,标题会出现乱码。格式化标题时我做错了什么吗?这是邮戳问题吗?