What's needed to send an email from an email address with a non-ascii domain name?

I can set up an email account in software which does not claim to support IDN by using a punycode domain name, but to the recipient that generally appears to come from that same punycode domain. An exception is gmail.com, which decodes the domain name and makes it look sensible.

When the recipient sees the raw punycode, whose fault is this? Is there something missing from the headers that signals that the punycode should be decoded, or otherwise indicates how the from address should be displayed? Or is the email meant to be sent with the domain encoded in UTF-8 instead of punycode?

Or is it the fault of the recipient's software for not decoding punycode automatically when displaying it?


Solution 1:

IDN punycode encoding and decoding is entirely in the responsibility of the client software and does not depend on specific headers. If recipients are seeing raw punycode it's because their client software has decided to display it to them like that. Possible reasons for that are:

  • The client software does not support decoding punicode at all.
  • Support for punycode decoding is a configurable option and the option is disabled.
  • Punycode decoding is suppressed in specific cases for security reasons to prevent homograph attacks.