Saturday, March 27, 2010

SMTP Relay Server Enhancements

We've deployed a couple of enhancements and bug fixes to the SMTP service.

  1. MIME encoded Subject lines containing a Transactional Group are now handled properly.

    According to the SMTP MIME specification, certain email headers can be MIME encoded. It's called the encoded-word syntax. For example, the Subject of an email might actually look like:

    Subject: =?utf-8?Q?Savings_For_Today{Daily_Alert}?=

    This represents a subject that is character-encoded as UTF-8 and content-transfer-encoded as quoted-printable. This Subject, properly rendered by an email client would look like:

    Subject: Savings for Today{Daily Alert}
    For the purposes of the JangoMail SMTP Server, the subject can contain the Transactional Group that the message should be assigned to in curly brackets. So if this message was relayed through, then the actual Subject would be "Savings for Today", and this message would be assigned to the Transactional Group "Daily Alert" in the user's account. Previously, our system was not decoding the Subject properly in order to determine the correct Transactional Group name to which to assign the email, but that has now been corrected in today's release.
  2. If the Sender header is specified in the original email, that header is now preserved.

    The Sender header, similar to the From header of an email, can be used to denote additional information about where the email originated. Most email messages do not contain a Sender header, but in some cases, a Sender header is inserted by an email system if the user is using a From Address not local to that particular email system. For example, GMail users who send "from" an address other than their address will have a Sender header inserted into the email where the Sender header equals the address and the From address equals the user's chosen From Address.

    On the receiving side, some email clients will show the Sender header as a phrase to the email recipient, saying "From [From Address] On Behalf Of [Sender Address]"

    Previously, if an email was relayed through the relay server that included a Sender header, the Sender header would be discarded by our system and not included in the final email message. Now, the system is preserving the Sender header.