Amazon SES 是否支持 UTF-8 电子邮件地址?

Nic*_*tte 4 php amazon-web-services amazon-ses aws-php-sdk

我试图找到这方面的详细信息,但找不到任何确认。我正在使用 PHP SDK 并尝试了以下测试(下面的电子邮件是一个示例,但 gmail 支持电子邮件中的 UTF-8 字符):

  • 使用 SES 发送电子邮件至myemail+?@gmail.com

我实际上发送了“?” 就像使用 PHP SDK 并查看它在 POST 请求正文中编码(URL)的查询一样:

Destination.ToAddresses.member.1=myemail%2B%E2%9C%96%40gmail.com

这是我从 SES 回复中得到的信息:

<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
  <Error>
    <Type>Sender</Type>
    <Code>InvalidParameterValue</Code>
    <Message>Local address contains control or whitespace</Message>
  </Error>
  <RequestId>f28c2325-5c09-11e6-9156-ef3e33b8e223</RequestId>
</ErrorResponse>
Run Code Online (Sandbox Code Playgroud)

我错过了什么还是不支持?如果不是,是否有计划支持它?

HiD*_*Deo 6

正如最新的 Amazon SES开发人员指南中所述,关于限制,Amazon SES 使用标准RFC-822电子邮件地址。

RFC-822 基本上将字符库限制为 7 位 ASCII 字符串。MIME 在正文和一些特定的标题字段中添加了对 8 位字符集的支持,但电子邮件地址和所有标题字段的完全国际化支持 Unicode、删除 ASCII 曲目限制和 UTF-8 字符集是另一个标准的一部分:RFC -6352 .

在 Amazon SES 将其接受的标头字段从 RFC-822 更改为允许电子邮件地址使用非 ASCII 字符的 RFC-6532 之前,您将无法将 UTF-8 电子邮件地址用于 Amazon SES。


Nic*_*tte 6

2023 年 6 月 15 日更新:

\n

感谢 @decibyte 指出了这一点,但看起来 SES 文档不再支持电子邮件本地部分中的 Punycode:

\n
\n

Punycode 不允许出现在电子邮件地址的本地部分(@ 符号之前的部分)中,也不允许出现在“友好发件人”名称中。如果您想在“友好发件人”名称中使用 Unicode 字符,则必须使用 MIME 编码字语法对“友好发件人”名称进行编码,如使用 Amazon SES API 发送原始电子邮件中所述。

\n
\n

参考: https: //docs.aws.amazon.com/ses/latest/dg/send-email-raw.html

\n

2022 年 10 月 6 日更新:

\n

SES 现在支持 UTF-8 字符,使用 Punycode,如下所述:

\n

https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html

\n
\n

若要对邮件信封中使用的电子邮件地址进行编码,请使用\nPunycode 编码。

\n

例如,要将电子邮件发送到 \xe5\xbc\xa0\xe4\xbc\x9f@example.com,请在地址的本地部分(@ 符号之前的部分)使用 Punycode 编码。生成的\n编码地址为 xn--cpqy30b@example.com。

\n
\n

不幸的是,Punycode 甚至不受 Gmail 等电子邮件提供商的支持,它只会显示 ASCII 字符,这导致了另一个问题:为什么还要建议这样做?

\n
\n

2016年4月25日回复:

\n

为了补充 HiDeo 的答案,我还得到了亚马逊的官方确认,目前不支持此功能,并已转发给 SES 团队考虑:

\n

https://forums.aws.amazon.com/thread.jspa?threadID=236854

\n

亚马逊的原始答案:

\n
\n

你好,

\n

感谢您提出此功能请求!我已将其转发给 SES 团队\n以供考虑。遗憾的是,您不会收到任何回复,但请留意 https://aws.amazon.com/new 上的新增内容博客获取任何更新!

\n

问候,

\n

马特·W.

\n
\n