5

I tried to find details on this but was unable to find any confirmation. I'm using the AWS SDK and tried the following test (the email below is an example but gmail supports UTF-8 characters in emails):

  • Send an email with SES to myemail+✖@gmail.com

I actually sent the '✖' as is using the AWS SDK and looking at the query it got encoded (URL) in the body of the POST request:

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

Here is what I got from the SES response:

<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>

Did I miss something or this is not supported? and if it isn't, are there plans to support it?

Nicolas Bouvrette
  • 4,295
  • 1
  • 39
  • 53

2 Answers2

7

As stated in the latest Developer Guide of Amazon SES, regarding limits, Amazon SES is using standard RFC-822 email addresses.

The RFC-822 basically limits the character repertoire to 7-bit ASCII strings. MIME added supports for 8-bit character sets in the body and some specific header fields but full internationalization of email addresses and in all header fields with Unicode support, removal of the ASCII repertoire limitation and UTF-8 charset are part of another standard: RFC-6352.

Until Amazon SES change its accepted header fields from RFC-822 to RFC-6532 that allows email addresses to use non-ASCII characters, you won't be able to use UTF-8 email addresses with Amazon SES.

Community
  • 1
  • 1
HiDeoo
  • 10,353
  • 8
  • 47
  • 47
  • Good catch, any idea ln if/when they are planning to implement RFC-6352? Does anyone actually uses this or is it still more of an experimental feature? – Nicolas Bouvrette Aug 09 '16 at 11:47
  • There are multiple posts from their teams saying the request has been reported for consideration but there isn't really much more informations / communications, it's more of a "read the changelog" kind of way. My wild guess, and it's only a personal opinion, is that they're waiting for this matter to come more popular since the change could be a lot of refactoring at such a large scale. I hope the popular adoption rate of UTF-8 in OS and apps will help. – HiDeoo Aug 09 '16 at 11:57
  • should we not mime encode the local part of the email? – Lajpat Apr 04 '17 at 16:50
  • RFC 2047 says: An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'. So it is not legal to mime-encode the local part of the email address. – vbraun Oct 05 '17 at 13:28
6

June 15th 2023 update:

Thanks to @decibyte for pointing this out but it looks like the SES documentation is no longer supporting Punycode in the local part of the email:

Punycode is not permitted in the local part of the email address (the part before the @ sign) nor in the "friendly from" name. If you want to use Unicode characters in the "friendly from" name, you must encode the "friendly from" name using MIME encoded-word syntax, as described in Sending raw email using the Amazon SES API.

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

October 6th 2022 update:

UTF-8 characters are now supported by SES, using Punycode as explained here:

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

To encode an email address that is used in the message envelope, use Punycode encoding.

For example, to send an email to 张伟@example.com, use Punycode encoding on the local part of the address (the part before the @ sign). The resulting, encoded address is xn--cpqy30b@example.com.

Unfortunately, Punycode is not even supported by email providers like Gmail and it will just show the ASCII characters which lead to another question: why even suggest this?


April 25th 2016 answer:

To add to HiDeo's answer, I also got official confirmation from Amazon that this feature is not currently supported and has been forwarded to the SES team for consideration:

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

Original answer from Amazon:

Hello,

Thank you for this feature request! I've forwarded it to the SES team for consideration. Unfortunately you won't hear anything back from this, but please keep an eye on the What's New blog at https://aws.amazon.com/new for any updates!

Regards,

Matt W.

Nicolas Bouvrette
  • 4,295
  • 1
  • 39
  • 53
  • Seems like they changed their mind already. From the linked docs: > Punycode is not permitted in the local part of the email address (the part before the @ sign) – decibyte Jun 14 '23 at 06:56