Addresses like 佐藤@例え.jp are valid email. How EAI and SMTPUTF8 work, who supports them, and what sending systems break when a Unicode address shows up.
For most of email's history, an address had to be ASCII: no accents, no scripts beyond Latin, no exceptions. That constraint excluded the native writing systems of most of the world's population, and the fix has existed since 2012 as a set of RFCs collectively called Email Address Internationalization. A decade on, the mailbox providers largely support it, and the long tail of sending infrastructure largely does not. This article covers how EAI works and where your stack probably breaks.
Two problems, two mechanisms
Internationalized domains were solved first and separately. IDNA encodes Unicode domain labels into ASCII punycode (例え.jp becomes xn--r8jz45g.jp), so the DNS never had to change and any mail system can route to an internationalized domain by using the encoded form. If only the domain is non-ASCII, ordinary email works today with no special support.
The local part, everything left of the @, has no such encoding trick: 佐藤@example.jp cannot be punycoded, because the local part belongs to the receiving server, not to DNS. EAI (RFC 6530 and companions) solves it directly: messages may carry UTF-8 in envelope addresses and headers, and a sending server asks permission by checking whether the receiving server advertises the SMTPUTF8 extension. No advertisement, no transmission; the message cannot be silently downgraded to ASCII because no faithful downgrade exists.
1> EHLO sender.example.com
2< 250-mx.receiver.jp
3< 250-SIZE 52428800
4< 250-SMTPUTF8 <- receiver supports EAI
5< 250 STARTTLS
6> MAIL FROM:<info@example.com> SMTPUTF8
7> RCPT TO:<佐藤@例え.jp>
8> ...The support landscape
Gmail has accepted and sent EAI mail since 2014, Outlook.com followed, and the major MTAs (Postfix, Exim, and the commercial gateways) all implement SMTPUTF8. India's government-driven adoption push made Hindi-script addresses a real user population, and registrars in China, Russia, and the Arabic-speaking world operate internationalized mailbox services. The receiving side of the internet is substantially ready.
The sending side is the patchwork. ESP support ranges from full to none, often undocumented until a support ticket forces the question. Web frameworks ship email validation regexes that hard-reject non-ASCII local parts. CRMs store addresses in columns with ASCII collations, form libraries strip what they cannot validate, and analytics pipelines choke on what the form let through. The practical consequence: a user with an internationalized address usually cannot even sign up, and when they can, some downstream system mangles the address into an undeliverable string.
Authentication and EAI
The authentication stack survives internationalization better than folklore suggests. SPF, DKIM, and DMARC all operate on domains, which resolve through punycode exactly as before; a DKIM d= tag uses the ASCII-encoded domain and validates normally. Headers in EAI messages may be raw UTF-8 rather than MIME encoded-words, which older parsing code mishandles, and DMARC aggregate report tooling occasionally stumbles on UTF-8 local parts in report data. Test your parsing path, but expect the protocol layer to hold.
What senders should actually do
The right investment depends entirely on your market. A German B2B SaaS will encounter internationalized local parts rarely; a consumer product in India, China, Thailand, or Russia will meet them as a real user segment. In both cases the floor is the same: do not corrupt what you receive. Storing addresses as UTF-8, validating with a library that understands EAI instead of a homegrown regex, and failing gracefully with an honest error beats silently truncating a user's identity.
EAI readiness audit
- 1
Test the signup path
Register test addresses with a non-ASCII local part and an IDN domain. Trace where each fails: form validation, API, database, welcome email.
- 2
Ask your ESP the direct question
Does the platform accept SMTPUTF8 recipients, and what happens on submission if not: rejection, silent drop, or bounce? Get it in writing.
- 3
Fix storage and validation first
UTF-8 columns end to end and an EAI-aware validation library are prerequisites for everything else, and they also stop the data corruption.
- 4
Handle the bounce class
Non-supporting receivers reject with 550 codes mentioning SMTPUTF8. Classify these distinctly per our bounce guide, they mean unsupported route, not bad address.
- 5
Decide per market, revisit yearly
If your growth markets include EAI-heavy regions, full support is product work worth scheduling. If not, the floor (no corruption, honest errors) is enough for now.
EAI is what infrastructure transitions look like from the middle: the standards are done, the biggest players moved, and the remaining friction lives in ten thousand codebases that validate email with a regex from 2009. You do not have to lead this transition. You do have to stop your stack from being the hop that breaks it, because the users it excludes will never appear in your metrics as anything but absence.
Frequently Asked Questions
Can an EAI address be downgraded to ASCII for delivery?
Do internationalized domains require EAI support?
Is there deliverability risk in supporting EAI?
How common are internationalized mailboxes really?
Key Takeaways
- IDNA handles non-ASCII domains via punycode; EAI with SMTPUTF8 is required only for non-ASCII local parts
- Support negotiates hop by hop, so delivery works only if every relay in the chain speaks SMTPUTF8
- Gmail, Outlook, and major MTAs support EAI; ESPs, validation regexes, and CRMs are the usual breakage points
- SPF, DKIM, and DMARC operate on punycoded domains and survive internationalization intact
- Minimum bar for every sender: store UTF-8 without corruption, validate with EAI-aware libraries, and bounce honestly
Related articles
Greylisting, Tarpitting, and Other Receiver Defenses Senders Should Understand
Receiving servers defend themselves with deliberate delays, temporary rejections, and traps for impatient senders. How each defense works and how a good MTA passes them.
DMARCbis: What Changes When DMARC Gets a New RFC
DMARCbis is finishing its journey through the IETF, replacing RFC 7489 with a Standards Track spec. The tree walk, retired tags, and what senders should do now.
SPF's 10-Lookup Limit: Includes, Flattening, and Permerror
Every include, a, mx, and redirect in your SPF record costs a DNS lookup, and the budget is ten. Why records break at scale and how to fix them without flattening regret.