Tuesday, December 21, 2010

Optimizing transactional email deliverability with JangoSMTP


Email deliverability is a key concern for most transactional email senders, and at JangoSMTP, we do everything possible to ensure the highest possible inbox placement of our clients' emails. In fact, we measure blocking at the SMTP level and have found that on average only 0.2% (2 out of every 1,000) emails are blocked.

Internally, JangoSMTP runs on a highly customizable platform, giving us internal control over sending speeds, email headers, and SMTP protocol level customizations. Externally, users can take advantage of certain settings and features and ensure high email deliverability and sometimes a 0.0% blocking rate. This article focuses on those user-configurable settings.

Following the steps below will solve most email delivery issues.
  1. Use your own email address as the SMTP MAIL-FROM address rather than the default of your-username@jangomail.com.

    The SMTP MAIL-FROM address is NOT the same as the From Address on your outbound emails. The SMTP MAIL-FROM address is usually invisible to the recipient and is only used during transmission of the email message from one server to another. It is determined by the setting under Settings --> Tracking --> General --> Use system MAIL-FROM address. It is also the address that is used for SPF and SenderID validation. By default, all JangoSMTP accounts start with this checkbox checked, which ensures SPF/SenderID compliance by default and that the MAIL-FROM address is your-username@jangomail.com.

    There are two methods to take control of the MAIL-FROM address.

    1. Uncheck the "Use system MAIL-FROM address" box under Settings --> Tracking --> General. This helps separate your email delivery reputation from the rest of the JangoSMTP user base. If you uncheck this checkbox, you must ensure that you include jangomail.com in the SPF record for your domain to avoid SPF-based blocks. You can do so by including "include:jangomail.com" in the SPF record.


    2. Create a special domain or sub-domain specifically for this purpose, inform our Support team, and then we'll set your account to always use your-username@sub.domain.com as the MAIL-FROM. If you opt for this, ensure that the SPF record for sub.domain.com includes "include:jangomail.com" and that the MX record for sub.domain.com points to mail.jangomail.com, which is the incoming email handler for JangoSMTP.

    What's the difference between methods 1 and 2?

    If your domain is browniekitchen.com, then in method 1:

    Display From = joe@browniekitchen.com
    MAIL FROM = joe@browniekitchen.com

    You must ensure that the SPF record for browniekitchen.com includes "include:jangomail.com". Replies will go to joe@browniekitchen.com, including auto-replies like "out of office" messages and "Thank you for emailing us" messages. Additionally, replies with "remove" or "unsubscribe" in the Subject will also be sent to joe@browniekitchen.com and have to be manually processed by "Joe". All hard bounces will still be handled automatically by JangoSMTP.

    With method 2:

    Display From = joe@browniekitchen.com OR joe@mail.browniekitchen.com
    Reply-To = joe@mail.browniekitchen.com
    MAIL FROM = joe@mail.browniekitchen.com

    You must ensure that the SPF record for mail.browniekitchen.com includes "include:jangomail.com". Legitimate replies will go to joe@browniekitchen.com or joe@mail.browniekitchen.com, but auto-replies like "out of office" messages and "Thank you for emailing us" messages will go to joe@mail.browniekitchen.com, to be processed and filtered by JangoSMTP automatically. These messages will be viewable under Reports. All hard bounces will still be handled automatically by JangoSMTP. Additionally, replies with "remove" or "unsubscribe" in the Subject will be automatically handled by JangoSMTP, and those recipients added to your Unsubscribe List.

    Both methods provide for better deliverability than the default option. Method 2 is the best option in terms of branding around your own organization and the automatic reply-management and bounce processing of JangoSMTP.

    Who should do this? The technical person who manages your domain's DNS settings.
  2. Use a branded tracking domain, that is based on your organization's domain name. The tracking domain is the domain referenced in the open-tracking mechanism, the click-tracking re-directs, and the unsubscribe link. By default, every new JangoSMTP account is assigned a system tracking domain that is shared amongst multiple clients, like x.jango5.com for example.

    By setting up your own, you can isolate yourself from the activities of our other clients. Set up your own by clicking the Edit Icon to the right of Settings --> Tracking --> Tracking Domain. If your domain is browniekitchen.com, then setting up x.browniekitchen.com makes for the perfect tracking domain.

    Who should do this? The technical person who manages your domain's DNS settings.
  3. Setup DomainKeys/DKIM for the domain use in your From Address. Both Yahoo! Mail and GMail currently look for DKIM signatures in the headers of email messages. The presence of a DKIM signature fosters a sense of trust that the email was sent by who was purported to send the email. To setup DomainKeys and DKIM in JangoMail, see our PDF entitled Setting up DomainKeys/DKIM with JangoSMTP.

    Who should do this? The technical person who manages your domain's DNS settings.
  4. After creating a DomainKeys/DKIM record, click the link in the confirmation email sent from Yahoo to postmaster@yourdomain. Whenever you create a DomainKeys record, we upload it to Yahoo! so that they can process complaints properly and report them back to JangoSMTP via a "Feedback Loop". Yahoo has a special process where they send a confirmation email to postmaster@yourdomain, and that email message contains a link that must be clicked by you in order to activate the Feedback Loop. If you do not do this, complaints will not be properly reported, and your delivery to Yahoo email address will be negatively impacted by recipients that complain over and over and aren't added to your unsubscribe list.
    Who should do this? The person who has access to the postmaster@domain account for your domain. Usually this is your organization's system administrator.
  5. If you're sending HTML email, make sure you include a corresponding plain text message. Spam filters tend to frown upon emails that have a heavy ratio of HTML to plain text content. This is as easy as setting the Plain Text Message to "auto-generate". This will cause a plain text message to be generated (based on your HTML message) at the time of email sending.

    Who should do this? The developer integrating your application with JangoSMTP.
  6. Enroll in the Return Path Certification program. In order to be accepted, you must have a complaint rate of 0 to 0.1%. Once enrolled, your emails are sent from IP addresses that are certified. Hotmail virtually guarantees inbox placement for emails sent from certified IPs, and Yahoo prioritizes emails sent from certified IPs.

    Who should do this? The person using JangoSMTP.
  7. If using click-tracking, anchor text should be phrases, not URLs. Some spam filters look closely at how you link to determine whether the link is legitimate or fraudulent. They do this to prevent phishing scams--a type of scam where an email pretends to be a request from a legitimate company in order to get the login credentials of that company's user. For more information on phishing, see the Wikipedia article on phishing. The best way to explain good links versus bad links is with an example:

    Good Link: Visit our web site.

    Bad Link: http://www.browniekitchen.com/

    When these URLs are click-tracked in JangoSMTP, the final email message looks like:

    Good Click-Tracked Link: Visit our web site.
    Bad Click-Tracked Link: http://x.jango5.com/y.z?l=http://www.browniekitchen.com

    What makes the bad link bad is that the anchor text is a URL, and that domain in that URL does not match the domain in the link destination. Phishing filters look for this domain mismatch. In the good example, however, the anchor text is not a URL to begin with, so the phishing filter will accept it as legitimate.

    Who should do this? The person designing your email campaigns.