代码之家  ›  专栏  ›  技术社区  ›  Konrad Mikuła

Amazon SE-电子邮件地址中的非ASCII字符

  •  16
  • Konrad Mikuła  · 技术社区  · 7 年前

    xmpl@.com

    对于域部分,我阅读了Punycode,这很好。但对于地址的本地部分,我似乎找不到解决方案:我尝试使用 RFC 2047

    =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=@punycodeemail.com
    

    但这似乎也不起作用。有人成功地解决了这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  7
  •   Community dbr    3 年前

    下面是我发现的:

    基地 SMTP RFC 5322 Section 3.4 )不允许电子邮件地址位于 7-bit ASCII 范围为了支持类似问题中的电子邮件地址,发送和接收电子邮件服务器都需要支持SMTP扩展名 SMTPUTF8 RFC 6531 .

    根据我与亚马逊SES支持团队的对话 SMTPUTF8 目前没有得到广泛支持(2017年11月23日),因此他们也不支持。他们的开发团队正在进行这项工作,但他们不知道它何时,甚至是否能投入生产。

    以下评论目前在 the .Net SDK documentation red herring .

    默认情况下,字符串必须为7位ASCII。如果文本必须包含 任何其他字符,则必须使用MIME编码的文字语法( RFC 2047 )而不是文字字符串。MIME编码的单词语法使用 以下形式:=?charset?编码?编码文本?=。了解更多信息 RFC 2047 .

    自从我和Amazon聊到这一点后,他们似乎在更正文档的某些部分,可以在 API documentation .

    Amazon SE不支持SMTPUTF8扩展,如中所述 RFC6531 . 因此,目标电子邮件的本地部分 地址(电子邮件地址中@符号之前的部分)可以 (@符号后的部分)包含非ASCII字符,它们必须 使用Punycode进行编码,如中所述 RFC3492