Harder than it looks
So when somebody comes along and enters something like "postmaster@öß.com" into an email field in a web app, where do I send the email to? Do I follow IDNA2003 or IDNA2008 or UTS46 rules. Do I do UTF-8 case folding? I.e, does the email ultimately get sent to "firstname.lastname@example.org" or "email@example.com" ? Should I check to see if all of the various ASCII encodings exist in the DNS and fail with an "Ambiguous domain" error if there are more than one?
I'd like to support internationalised domains, but there doesn't seem to be a "correct" way of doing it at the moment.
It also doesn't help that none of the popular open source databases or mail servers have functions built in for doing the conversions. So I can't store the Unicode representation of a domain in a database and then expect my mail server to be able to transform the incoming punycode encoded version to Unicode before doing lookups against that database.