Separate local part and domain

An internationalized domain can be converted between Unicode U-label and DNS A-label forms under IDNA. A non-ASCII local part is different: it requires the SMTPUTF8 extension and cannot be made interoperable by punycode conversion. Never apply IDNA processing to the local part.

Preserve the exact submitted mailbox and a separately derived canonical DNS form for the domain. Avoid Unicode “cleanup” that changes code points or merges distinct addresses. Any normalization used for account uniqueness needs a security review and collision tests.

Audit the complete chain

Check the web framework validator, database encoding/indexes, ORM, queue serializer, templates, header library, SMTP client, outbound provider, bounce parser, inbound support tools, CRM, analytics redaction, and identity provider. One ASCII-only integration can break an otherwise capable route.

At SMTP time, the server must advertise SMTPUTF8 before the client transmits an internationalized mailbox or message requiring it. If support is absent, the client must not simply strip or transliterate characters and continue. Return an unsupported/undeliverable path according to the product contract.

Build a controlled matrix

Use test mailboxes you own with:

  • ASCII local part and ASCII domain;
  • ASCII local part and internationalized domain;
  • non-ASCII local part and internationalized domain;
  • mixed-case and visually similar Unicode cases;
  • bounce and reply paths;
  • message headers containing UTF-8.

Send through the real provider to controlled receivers and inspect SMTP extensions, original headers, delivery, reply, and failure processing. Do not use a public person’s internationalized address as a test target.

Make verifier output precise

Syntax support, IDNA conversion, DNS routing, SMTPUTF8 advertisement, and mailbox evidence are separate signals. A domain’s MX does not prove its servers support SMTPUTF8 on every route. A timeout remains unknown.

Display the user’s original address safely while using the DNS form only where required. Explain whether the limitation belongs to Deliverlens, its provider, or the observed recipient server.

The feature is ready when signup, storage, sending, verification, recovery, bounce handling, export, and deletion all preserve the address correctly. Partial support should be labeled partial; rejecting every Unicode address as malformed hides an implementation limit behind a false standards claim.