Mail software must handle any valid EAI (E-mail Address Internationalization) addresses. This includes printable UTF-8 characters in the local part (left side) of an address, and any valid hostname including IDNs in the domain part.
Many types of software are eligible for bounties.
MTA (Mail Transfer Agent)
If the program is an MTA, then it should be able to
- send mail to EAI addresses
- receive mail from EAI addresses
- support mail to and from UTF8 addresses and aliases if it provides local deliveries
Some MTAs do more. Project maintainers may ask for more.
MUA (Mail User Agent)
If the program reads or sends mail with a user interface, then it should be able to
- compose mail to EAI addresses
- compose mail to mixed address sets
- display mail from EAI addresses
- reply to mail from EAI addresses
If the program supports having multiple addresses for the user, then it should support having an EAI address.
Many mail readers include an address book function, so the next section applies.
Address books or user database
If the program stores addresses in a database or file, then it should be able to
- store both EAI and legacy addresses, including mixed types of addresses for a single person
- search for both
- display both
Storing email addresses in a database for use with a server (to send mail to customers, say, or forum members) is considered acceptable for this program.
Implementing either RFC 6857 or 6858 to downgrade messages is suggested, but just-send-8 is also acceptable.
Web applications can be general purpose like wiki or blogging packages, or specialized widgets or libraries. To the extent possible, patches should drop in without changing the API or user interface.
- For applications that use domain names or URIs, support all valid hostnames including IDNs (written using U-labels) and new TLDs.
- For applications that use e-mail addresses, support all EAI addresses.
- For applications that send mail, support sending EAI mail to any valid address.