Internationalization & Email

John Reeve | April 12th, 2007 | , , ,

Pelago is gearing up to launch International support in our Intervals application. The biggest hurdle, by far, has been encoding emails in a format that supports international character sets.

Intervals encodes all of its data in the UTF-8 format because of its language support. However, its an 8bit format that isn’t fully supported by mail software. We found that encoding our emails using the UTF-8 character set and 8bit encoding was working for some of our clients but not others. The culprit is the MTA servers that an email gets routed through. If any of those servers don’t support 8bit mime, the email gets garbled.

We found the solution was to retain the UTF-8 character set, but to encode both parts of the email, the text/plain and text/html parts, using quoted-printable. This ensures that the message is encoded into a 7bit format that can easily pass through any MTA. We are using the Pear Mail and Mail_mime packages to build and send the emails, which apparently, automatically mime encodes the UTF-8 headers.

No one seems certain as to how widely supported 8bit mime is on the majority of email servers. Our experience is the support is not enough. At least half of our outgoing emails were passing through a non-compliant MTA. 8bit is going to have to wait a while longer.

Leave a Reply

Intervals Blog

A collection of useful tips, tales and opinions based on decades of collective experience designing and developing web sites and web-based applications.

What is Intervals?

Intervals is online time, task and project management software built by and for web designers, developers and creatives.
Learn more…

John Reeve
Author Profile
John Reeve

John is a co-founder, web designer and developer at Pelago. His blog posts are inspired by everyday encounters with designers, developers, creatives and small businesses in general. John is an avid reader and road cyclist.
» More about John
» Read posts by John

Jennifer Payne
Author Profile
Jennifer Payne

Jennifer is the Director of Quality and Efficiency at Pelago. Her blog posts are based largely on her experience working with teams to improve harmony and productivity. Jennifer is a cat person.
» More about Jennifer
» Read posts by Jennifer

Michael Payne
Author Profile
Michael Payne

Michael is a co-founder and product architect at Pelago. His contributions stem from experiences managing the development process behind web sites and web-based applications such as Intervals. Michael drives a 1990 Volkswagen Carat with a rebuilt 2.4 liter engine from GoWesty.
» More about Michael
» Read posts by Michael
Videos, tips & tricks