【发布时间】:2017-07-04 08:07:21
【问题描述】:
我正在为日本客户开发产品,但在尝试发送到诸如ああ@ああ.blah.jp 之类的电子邮件地址时出现错误,AWS SES(简单电子邮件服务)拒绝该电子邮件地址:
Aws::SES::Errors::InvalidParameterValue (Local address contains control or whitespace)
SES 文档说您需要使用我所使用的 RFC 2047 编码。 ActionMailer 会自动对这些地址进行编码,因此发送到 SES 的内容如下所示:
=?UTF-8?Q?=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E6=83=85=E5=A0=B1=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E6=83=85=E5=A0=B1=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E6=83=85=E5=A0=B1=E3=83=A6=E3=83=BCsfd=E3=82=B6=E3=83=BC=E6=83=85=E5=A0=B1@sdfds.com?=
我不明白为什么会出现错误。
【问题讨论】:
-
您可能需要punycode 该域。
-
RFC 2047 规范说您应该能够使用 UTF 字符。参考github.com/mikel/mail/blob/…
-
“ActionMailer 似乎没有对这些地址进行编码”——你检查过这个假设吗?
-
哎呀检查了日志,你是对的,它正在被编码。不明白为什么 SES 拒绝它。
-
@jeznag 这通常在电子邮件地址组件中,而不是域组件中。
标签: ruby actionmailer amazon-ses