I'm trying to send an e-mail using Amazon SDK for .NET and SES. I have an e-mail which consists of special letters, for example:
ęxąmplę@źćż.com
For the domain part, i read about Punycode and that works fine. But for the local part of the address, i can't seem to find a solution: I tried using RFC 2047 encoding for whole e-mail, but then SES return 'missing final @ domain' error, so I tried to encode only a local part, so the e-mail would be
=?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=@punycodeemail.com
but that didn't seem to work also. Has someone successfuly resolved that?
So here is what I've found out:
The base SMTP email address specification (RFC 5322 Section 3.4) does not allow email addresses outside a limited subset of the 7-bit ASCII range. In order to support email addresses like the one in the question both the sending and receiving email servers need to support an extension to SMTP called SMTPUTF8 defined in RFC 6531.
According to a conversation I had with Amazon SES's support team SMTPUTF8 isn't widely supported currently (23 Nov 2017) and as such they don't support it either. Their development team is working on it, however they have no idea when, or even if, it will make it to production.
The following comment that is currently in the .Net SDK documentation about MIME Encoding seems to be somewhat of a red herring.
Since I chatted to Amazon about this they seem to be correcting some parts of the documentation a better description can be found in the API documentation.