amazon-web-servicesamazon-sesamazon-simple-email-service

Does Amazon SES support UTF-8 email addresses?


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

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?


Solution

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