Despite rapid changes in how users communicate with one another, email has remained the most ubiquitous form of communication on the Internet. Other channels like instant messaging have grown in popularity and usage but ultimately serve to supplement email rather than replace it. This is due to the open standards and extensibility of the SMTP protocol that has allowed for continual advancement while still maintaining backwards compatibility.
SMTP, the protocol that allows messages to be exchanged from one system to another, was created during a time where ASCII was the prevailing character set. Based on the English alphabet, ASCII encodes 128 different characters into seven-bit integers, but the 128 character limitation is insufficient for many non-Latin languages. Consequently, over the years many different character sets were introduced to support different languages and symbols. These character sets often were highly fragmented so maintenance requirements varied greatly from business to business. It wasn’t until the ratification of Unicode, which contains 128,237 different characters supporting 135 languages, when there was a globally adopted standard to support all languages worldwide.
Over time, various extensions were built for SMTP that allowed the content of messages to leverage different content encodings in the message, including Unicode. Despite these extensions, however, email addresses themselves remained limited to ASCII. It was only recently that many mailbox providers around the world started adopting support for the SMTPUTF8 extension which finally removes this constraint and allows users to obtain internationalized email addresses.
Over the last several months here at Mailgun, we’ve seen increasing demand from customers who need to be able to communicate to users who use these internationalized addresses. As a result, we’ve built out the infrastructure of the Mailgun platform to meet these customers’ needs. Not only can users send messages to internationalized addresses, but we’ve also added support across our entire platform including inbound messaging, routes (match_recipient & forward), mailing lists(list names and members), email address validation, and suppression lists.
To take advantage of this new feature, there is no change required. As long as the receiving mailbox provider supports the SMTPUTF8 extension, Mailgun will automatically detect support for this extension and deliver the message accordingly.
A large portion of the work we’ve done to enable internationalized email addresses is part of Flanker, our address and MIME parsing library. When we first built Mailgun, there wasn’t a great Python address parsing library, so we built one and open sourced the project. We’re pretty proud of it. You can check it out here to learn more.
If you have any questions or feedback on this new feature, please let us know by creating a ticket for our customer support team within your Mailgun dashboard. For anything else email-related, our email experts are always here to help. Please don’t hesitate to reach out, and they’ll be in touch soon to assist.
Last updated on August 19, 2019