Frequently Asked Questions      contents

How to test email program for usability with different languages?

1) Send yourself an email with different symbols both in headers and message body, e.g. ž я Ω. Upon receiving the email, look at it's source, or full headers. There must be headers like the ones below either in message headers, or in case of message with attachment at the beginning of plain text MIME part. "charset" parameter must mach the charset (encoding) that really was used.

Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If you see charset=iso-8859-1, it means the sending email program wasn't able to mark the message properly, as the sample characters above are outside iso-8859-1 range. Even if you may see the characters yourself, such text will become gibberish for other people with other email programs or after replying and quoting it. If you send HTML and not plain text, the "charset" parameter may be missing, but there must be a line like the one below in the HTML itself:

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

"charset" parameter in email message (or MIME part) header has priority over "charset" in HTML itself.
Content-Transfer-Encoding: can have quoted-printable or base64 value instead of 8bit, in that case unsafe symbols are escaped, for example =C5=BD instead of Ž, but that isn't a problem. However if that value is 7bit, it means that either the message has only US-ASCII symbols, or this is a bug and there is a risk that the message will be mangled by mail servers or receiving email program.

2) Headers with characters outside US-ASCII should be escaped in MIME header format, e.g.:

From: =?UTF-8?Q?=C5=BDalias?= <foo@bar.com>
Subject: =?UTF-8?B?TGlldHV2acWz?=

It should look like below when decoded:

From: Žalias <foo@bar.com>
Subject: Lietuvių

Often a program can send or decode such headers in one character set, but not in other. E.g. MSOE has such bug in some versions. In that case you should avoid special characters in message headers.

3) Send yourself a message with special characters in headers, but with empty message body. Headers shown in 2) should still look properly even if message body "charset" parameter is US-ASCII, as headers are separate from message body. It should look OK both when viewing message list and separate message.

4) Received message should be shown properly by email program without any manual character set/encoding guessing and selection from menu.

5) Try to reply to such message. Quoted text should look properly regardless of character set/encoding chosen for sending reply. This is important for sender's name as well.

6) When composing a message, your name, receiver's name, other names from address book put into From:, To: or Cc: headers should be shown properly and and escaped properly as shown in 2) when sending it out.

7) If email program supports newsgroups as well, try it in some testing newsgroup like alt.test. For example MSOE has separate settings for email and newsgroups, and unfortunately MIME for newsgroups is turned off by default.


  Valid XHTML 1.0!