Ensuring your HTML Emails Look Great and Get Delivered

Boy what a difference 18 months can make! In my last Vitamin article I was singing the praises of standards based email and encouraging the use of CSS in your email designs. While the browser market has continued to strive for better standards support, a major player in the email industry has unfortunately done the opposite.

With the release of Outlook 2007 earlier this year using the Word rendering engine instead of Internet Explorer, my recommendations just don’t make the cut any more. I’ve decided to revisit my original suggestions and bring them more in line with today’s baseline. I’ve also had a good look at the feedback and comments from the original post. Getting your email to look good is only one piece of the puzzle, so I’ve dedicated the second half of this article to recommendations on how you can improve the chances of your emails actually getting delivered.

Some things change, some stay the same

While the best way to code your email might have changed, a number of key email design fundamentals haven’t changed a bit. My original article focused on the importance of designing for images being turned off and making sure your design looks good in the preview pane. Not only are these notions still relevant, they’re more important than ever with more and more email clients using preview panes and blocking images by default.

In the last 18 months we’ve seen the new version of Hotmail, known as Windows Live Hotmail and the new Yahoo! Mail sport a preview pane layout that blocks images by default for unknown senders.

In terms of image blocking, it’s safe to assume that at least half of your recipients will receive your email without any visible images. Because of this, it’s still important to ask your recipients to add you to their contacts/safe senders list when they subscribe (and in each email subsequent email you send), which often results in your images being turned on by default.

On top of image blocking and preview panes, my other recommendations on essential content, the importance of testing and key things to avoid all still apply. If you haven’t done so already, make sure you check out these suggestions.

Learning to love inline CSS

You might ask why an update to only one particular email client might change my entire position on using CSS in email. That one’s easy. Outlook commands more than two thirds of the business email market. Admittedly, not everyone will have upgraded to the 2007 version so far, but many more will. Add the imperfections of Hotmail and Gmail to the mix and it becomes difficult to justify sending a garbled email to so many of your subscribers.

No need to throw the baby out with the bathwater though. CSS still has an important role to play, albeit in its non-semantic inline form — but it works. For example:

<p style=”font-family:Arial; font-weight:bold;
font-size:11px; color:#060;”>Look ma, no semantics!</p>

I know many of you probably cringe at the thought of this, but if you’re looking to get any kind of design consistency across the major email environments, it’s your best option. Not all CSS is supported though, you’re actually working with a limited subset. Here’s an outline of what CSS is and isn’t supported in 14 of the most popular email clients.

For a solid level of support in Outlook 2007 and Gmail, as well as other major clients, stick with inline CSS
for the following properties:

  • background-color
  • border
  • color
  • font-family
  • font-size
  • font-style
  • font-variant
  • font-weight
  • letter-spacing
  • line-height
  • margin
  • padding
  • text-align
  • text-decoration
  • text-transform

Using tables for basic layout

If you’re looking to add columns or any kind of significant design element to your email, then unfortunately structural tables are the only way to go. Float and width are just too poorly supported at this stage to consider completely CSS-based layouts. Don’t get too ahead of yourself though, just because you can use tables doesn’t mean pixel perfect design will be easy.

Just like CSS, different email clients handle tables differently. When you start to add in a bit of cell padding and maybe nest a table or two, things can get ugly fast. Again, there are some basic table guidelines you can stick to so you can at least maintain your sanity.

  1. Don’t go nesting crazy. As soon as you start nesting more than one table deep some email clients really start to choke, especially older clients like Lotus Notes. Even Outlook handles the padding in a nested table differently to that of the parent table.
  2. Instead of specifying your table width in the <table> tag, specify the width of each cell in the <td> tag. You’ll find this gives you more consistency across the board.
  3. Make sure you don’t mix cellpadding with padding via inline CSS. Some email clients really struggle with this, so stick to basic cellpadding and no CSS for the best results.

Here’s an example of some simple table code that will render most consistently across the major email clients. Notice the lack of width in the table tag and no CSS.

<table cellspacing="0"
cellpadding="10" border="0">
 <tr>
  <td width="120"></td>
  <td width="480"></td>
 </tr>
</table>

The takeaway from this really is to keep things simple, which I think is a good thing for email anyway. Avoid large images and complex layouts and instead focus on making your content readable no matter how your subscribers are viewing your email.

Looking ahead

While the current lack of standards support in the email world is discouraging, complaining about it isn’t going to get us anywhere. We need to start being vocal to email client developers and encourage them to embrace web standards when rendering HTML emails. It’s a big job, and that’s why we recently launched the Email Standards Project — a brand new initiative that will hopefully broaden the communication lines between designers and those responsible for how email clients render HTML email. Check it out and help spread the word if you think it’s an important issue.

Getting your emails delivered

Even though achieving consistency in how your emails are rendered is a challenge in itself, you’ve still got a long way to go before it actually arrives in your subscriber’s inbox. The world of email deliverability has changed a lot in recent years. Originally, content was king. As long as you weren’t blacklisted and your email content didn’t include lots of “spammy” words, then you had a good chance of getting delivered. Today however, ISP’s and spam filtering technology has got a whole lot smarter and more aggressive.

Who is sending the email is becoming more important than what the email says. ISPs are doing this by watching their customers reassign habits and use of the “Mark as spam” button, and then tying that back to the sending domain and IP address. If a subscriber is regularly opening your email then you should be in the clear, but if a decent number rarely open your email and mark it as spam then you might not make the inbox much longer. Known as your sender reputation, it’s the most important factor in getting your emails delivered today. Just like the real world, having a good reputation ensures trust, and if ISP’s don’t trust you, you’re in trouble.

This introduces a new challenge to anyone sending reasonable amounts of email. No longer is getting permission enough to assume your email will be delivered. If it’s not relevant and exactly what the subscriber asked for, you run the risk of them marking your email as spam. It’s a delicate but extremely democratic
system; your ability to deliver email truly is in your subscriber’s hands, so treat them with the respect they deserve.

Ensuring a good sender reputation

There are three major metrics most ISPs use when calculating your sender reputation, each of which are easy to maintain provided you use some common sense. These metrics are your spam complaint rate, the percentage of email you send to addresses that no longer exist, and finally the number of spam trap addresses you send to. Spam traps are generally email addresses created by ISPs and anti-spam companies to lure spam by never actually signing up to anything, but publishing them in spots where email harvesters will pick them up.

By following the simple guidelines below, you can ensure these three metrics never become an issue and
tarnish your sender reputation.

  1. Get their permission — File this one under “so obvious it’s almost not worth mentioning”. Unless you have clear, explicit permission from everyone on your list then please don’t bother sending anything to them. There are no shades of grey here either — it’s like someone “sort of” being pregnant. If they don’t remember giving you their permission, they’ll mark your email as spam and shoot your sending reputation in the foot. This is also the only way to guarantee you won’t ever be sending to spam trap addresses.
  2. Set expectations and stick to them – At the time of obtaining permission, whether it’s through a subscribe form on your site or someone giving you their details offline, be sure to tell them when they’ll be hearing from you and what they should expect to receive. If someone subscribes to your quarterly newsletter and you start sending to them weekly, you can expect spam complaints.
  3. Be relevant and interesting — This one can be hard to get your head around because it seems so easy. Of course my emails are relevant and interesting! But are they really? Before you hit the send button, try and put yourself in your subscriber’s shoes and honestly ask yourself if it’s something you’d be interested in hearing about. It’s getting more and more common for subscribers to mark your email as spam even if they originally opted-in, purely because it wasn’t relevant enough.
  4. Make it easy to leave — One particular mistake that I see quite a bit is making it hard for your subscriber’s to unsubscribe from your list. The mentality is that by hiding your unsubscribe link in a small font somewhere in the footer then maybe people won’t bother. Today, if a subscriber wants out and can’t immediately see the unsubscribe link, I guarantee the “Mark as Spam” button will be their next best choice. If anyone does click your unsubscribe link, don’t make them jump through hoops to get off your list either. A single-click is all it should take.
  5. Process all bounces — Every time a mail server receives an email for an address that no longer exists or is temporarily unavailable, they’ll send you back what’s called a “bounce”. This is a simple email that often explains why the email couldn’t be delivered and comes in two distinct flavours. A “hard bounce”, which is a permanent error meaning that address is no longer in use, and a “soft bounce”, which is a temporary issue such as a full mailbox. The moment you get a hard bounce back, you should immediately remove that address from your list. While they are often temporary, I recommend keeping track of all soft bounces. As soon as an email address soft bounces 3 times, consider it permanent and remove them from your list. Your sender reputation will thank you for it.

Keeping track of spam complaints with ISP feedback loops

Because keeping your spam complaint rate low is so important, a number of the major ISPs have feedback loops set up where they’ll send you an email letting you know whenever anyone marks your email as spam. This is incredibly useful — you can immediately remove anyone who complains from your list, and you can also quickly gauge if your content is starting to become irrelevant. Here are some brief instructions on the major feedback loops you should register your sending IPs with if you’re taking care of email delivery in-house.

Overview What you’ll need to supply
Windows Live Hotmail (Hotmail/MSN)
The Hotmail Junk Email Reporting Program is a must to register for and includes all spam complaints from Windows Live Hotmail and Windows Live Mail.
Company and domain information
Your sending IP addresses
Your sending practices
Support for Sender ID email authentication (explained below)
Microsoft’s Smart Network Data Services
A great way to monitor your deliverability to all Hotmail and MSN accounts. You register your IP’s and they tell you if there are ever any delivery issues.
Company and domain information
Support for Sender ID email authentication (explained below)
AOL
Includes all spam complaints from desktop and web-based AOL accounts.
Company and domain information
Your sending IP addresses
Yahoo! Mail
Yahoo! doesn’t currently have a page dedicated to their feedback loop, but you can apply to be registered by emailing them.
Company and domain information
The Domainkeys signing key you use for each domain (explained below)
A signed agreement sent back to Yahoo!
SpamCop.net
Once you create an account and log in, you can add the IP range to be monitored here.
Company and domain information
Your sending IP addresses

Most ISPs use the standard Abuse Feedback Reporting format when sending you these complaints, which often involves stripping any personal information about who made the original spam complaint. Because of this you’ll need to make sure you include some kind of identifier (like a subscriber ID) in the original email so you can confirm who made the complaint and remove them from your list.

Embracing email authentication

Email authentication is a set of important technologies that add a much needed accountability layer into the emails you send and can instantly improve your deliverability to many of the major ISPs. By setting up authentication for all of your sending domains, you can prove an email is coming from you and isn’t fraudulent. These days it’s becoming a must-have for anyone sending a decent amount of email.

Authentication works by adding some simple records in the DNS for each sending domain you use. For example, if you send email from news@abcwidgets.com, you’ll need to add your authentication records into the DNS for abcwidgets.com. Right now there are two main authentication systems that you should be using:

Authentication method ISP’s that support it
Sender ID
A Microsoft technology based on the SPF standard that involves adding a record to your DNS indicating which mail servers are allowed to deliver mail on your behalf. You can create your Sender ID record in a few minutes using this wizard.
MSN/Hotmail
AOL
Juno
NetZero
United
Gmail
DomainKeys and DKIM
DomainKeys is a Yahoo innovation that involves adding a record to your DNS containing a public key, and then adding a corresponding digital signature to your mail headers that matches the corresponding private key to the one In your DNS. DKIM is a newer standard combining DomainKeys and another standard. If possible, I recommend supporting both.
Yahoo
Gmail
Earthlink

Keeping your own house in order

So, now that you’ve got a good sending reputation and are ensuring it remains under control by monitoring spam complaints, what else is left? Here’s a checklist of some of the more important finer points that you’ll also want to ensure is covered in your email infrastructure:

  1. Reverse DNS — It’s crucial to ensure you have RDNS set up for every IP you deliver email from. RDNS involves a receiving mail server looking at the IP address your email is coming from and then checking to see if there is a registered domain associated with it. It’s a requirement for most receiving mail servers and whitelists, so don’t overlook it.
  2. Valid mail headers — The information contained in your mail headers is crucial to a receiving mail server deciding if they will accept your email. Make sure you’ve got a valid return-path (where bounces are sent), the correct MIME-Version and encoding information, DomainKeys/DKIM signature and your IPs in the received lines have RDNS set up. I’d also recommend checking out the list-unsubscribe header currently supported by Windows Live Hotmail.
  3. Throttling your delivery speeds — different ISPs have different maximum speeds you can send at. Once you start to exceed these speeds, they’ll consider you a spammer and start blocking you. Make sure you set a reasonable speed limit on the number of connections and messages you send per hour so you don’t tread on any ISPs toes. From experience most ISPs will allow a few hundred simultaneous connections and 25 or so messages per connection.
  4. Stay off blacklists — While your sending reputation continues to become more important, you still need to make sure you don’t appear on any major blacklists. Even if you’re following all the guidelines I’ve mentioned above, a rare blacklisting can happen to the best of us. I recommend checking the free Spam Database Lookup provided by DNS Stuff as often as you can. You can also apply to be whitelisted by ISPs such as AOL and Yahoo.
  5. Monitor all abuse accounts — By default some anti-spam systems (and people) will send any spam complaints to abuse@yourdomain.com. Make sure it’s set up and is actually going to someone responsible for your sending reputation. If a complaint is made, resolve it immediately. Don’t forget to register your abuse accounts with abuse.net.

As you’ve probably gathered, nothing about email marketing is a piece of cake. Whether it’s getting your email delivered or making sure it looks great once it arrives. If you’re using an Email Service Provider like my company Campaign Monitor to deliver your emails, all of the technical challenges I mentioned above will be covered for you automatically. Nevertheless, the technical side is only a small part of your email reputation — the crucial ingredients of permission and relevance are up to you. If you are responsible for delivering email from your own servers however, I hope that by sharing many of the lessons I learned the hard way over the last few years you can get your emails delivered, and keep your sanity in the process.

Free Workshops

Watch one of our expert, full-length teaching videos. Choose from HTML, CSS or WordPress.

Start Learning

Comments

34 comments on “Ensuring your HTML Emails Look Great and Get Delivered

  1. Thanks for this article… I have been having discussions about this very thing with the marketing dept. and my job, this will serve as a very useful resource.

  2. Ensuring your HTML emails look great and get delivered! A great article covering a lot of basics. this is great information for those marketing people who think you're just 'pushing web design buttons' and that it's all easy. thumbs up!!

  3. Ensuring your HTML emails look great and get delivered! A great article covering a lot of basics. this is great information for those marketing people who think you're just 'pushing web design buttons' and that it's all easy. thumbs up!!

  4. If you are looking for href=” http://www.paydayloansolutions.net/payday-loan-… “> PAYDAY LOAN , look no further. Our payday loans will take care of those loose ends you need tied up. cash advances are all you need to cover expenses you did not expect. With cash advances you can take care of these expenses with no problem. When you are in need of cheap cash advances, we are here to provide fast service for you. So, if cash advances is all you are looking for, then we have those cash advances for you here.

  5. What a headache! Coding using inline styles! I struggled with this for years until I cracked my knuckles and hunkered down with some PHP to put together a handy little script that let's you convert your CSS to inline styles in one fell swoop! No joining Campaign Monitor required. Just try this thing for $1 and give me feedback about how it did the job:CSS-to-Inline Converter for HTML Emailshttp://www.vivwebsolutions.com/tools/css_to_inl

  6. What a headache! Coding using inline styles! I struggled with this for years until I cracked my knuckles and hunkered down with some PHP to put together a handy little script that let's you convert your CSS to inline styles in one fell swoop! No joining Campaign Monitor required. Just try this thing for $1 and give me feedback about how it did the job:

    CSS-to-Inline Converter for HTML Emails
    http://www.vivwebsolutions.com/tools/css_to_inl

  7. Do you have a points system to review the effectiveness of someone's blog brand?For example the blog brand scores:54 out of 100 which is: “average/poor”78 out of 100 which is “excellent but still scope for improvement”I have been looking for something like this where I can clearly evaluate the brand effectiveness of my blog.

  8. Do you have a points system to review the effectiveness of someone's blog brand?

    For example the blog brand scores:

    54 out of 100 which is: “average/poor”

    78 out of 100 which is “excellent but still scope for improvement”

    I have been looking for something like this where I can clearly evaluate the brand effectiveness of my blog.

  9. A very very useful post thank you kindly! I will be sure to inform our students of this post!As we provide web design courses so email marketing is something that is always asked about. Our students are keen to tell the world about their new site so with this information we can make sure they reach their audience. Thanks,

  10. A very very useful post thank you kindly! I will be sure to inform our students of this post!

    As we provide web design courses so email marketing is something that is always asked about. Our students are keen to tell the world about their new site so with this information we can make sure they reach their audience.

    Thanks,

  11. I’ve enjoyed reading this post, thanks. We’ve justhad our first baby 8 weeks ago and thisis exactly what I was looking for, keep up the good work.

  12. Some amazingly useful tips there and great research. You’ve really looked into the topic that’s for sure! As for layout, I do think it’s funny that while the rest of the world is obsessed with pretty standards compliant CSS designs the email world has to revert to old school tables and inline styles. Part of me quite likes it and reminds me of the old days though lol!

  13. Gmail has not support whatsoever for CSS or background colors for that matter. Otherwise, good advice for someone new to the business.

  14. Pingback: HTML Email Newsletter Toolbox – Tutorials, Templates and Inspiration - Speckyboy Design Magazine

  15. Using inline-css doesn’t mean that the html-code isn’t semantic. Wrapping text between ” tags still gives that text the semantics of a paragraph.

  16. Some amazingly useful tips there and great research. You’ve really looked into the topic that’s for sure! As for layout, I do think it’s funny that while the rest of the world is obsessed with pretty standards compliant CSS designs the email world has to revert to old school tables and inline styles. Part of me quite likes it and reminds me of the old days though lol!