3

I see things like =?iso8859-1?B?...?= in email addresses. I assume this is defined in some RFC. Can anybody explain where? Is this supposedly obsolete now when everything is Unicode?

Tomas By
  • 169

2 Answers2

3

This is the RFC 2047 "Encoded word" format used in MIME format email messages (i.e. basically all of them) to fit 8-bit data into 7-bit ASCII. It has nothing to do with HTTP GET or query strings.

Encoded-word is to headers as Content-Transfer-Encoding is to the message body – both use Base64 or Quoted-Printable formats to convert 8-bit data to 7-bit ASCII data, and both are normal occurrences in messages.

However, normally you should never see such encoded text in your mail app (except by viewing the message source) – it should always be shown decoded in the UI. If the mail app shows you the raw encoded-word, then most likely it couldn't be decoded correctly (e.g. sender specified the wrong character set).

This format is not obsoleted by Unicode; it achieves a different task and is equally applicable to all character sets. Indeed you will frequently see Unicode text getting encoded as =?utf-8?....

However, it may be obsoleted by the SMTP "8BITMIME" extension. Like many email things it comes from an era where some networks were not "8-bit clean" and could discard or mangle the value of the high bit – something that's no longer true for modern SMTP software running over TCP/IP.

grawity
  • 501,077
-2

Most likely, this is a generated email from software with either a misconfigured plugin or a poorly written one. The "=" and "?" probably indicate that GET parameters are being passed (and misinterpreted/misarranged) in a function somewhere.

See for example: ( https://magento.stackexchange.com/questions/37663/plugin-email-sender-incorrectly-uses-iso-8859-1 ) where the OP quotes a similar mangling based upon a bug.

From: =?iso-8859-1?Q? (...) = address@example.com

Yorik
  • 4,988