How HTML Email Works

Before you start designing, coding, and sending HTML email, you should familiarize yourself with how it works, including what tools you’ll need to make it work well. Here’s some background information that every email designer and marketer should know.

Multipart/Alternative MIME Format

The most important thing to know about HTML email is that you can’t just attach an HTML file and a bunch of images to a message, then click send. Most of the time, your recipient’s email application will break all the paths to your image files by moving your images into temporary folders on the recipient’s hard drive. You can’t just paste all your code into your email application, either. Most email apps send messages in plain-text format by default, so the HTML won’t render. Your recipients would just see all that raw source code, instead of the pretty email that you made them.

Instead, you need to send HTML email from your server in multipart-alternative MIME format. That means your mail transfer agent bundles your HTML code, plus a plain-text version of the message, together into one email. That way, if a recipient can’t view your beautiful HTML email, the good old, reliable plain-text version of your message is displayed. It’s kind of a nerdy thing, which is why a lot of people mess it up when they try to send HTML email themselves. You either need to program a script to send email in multipart-alternative MIME format, or use an outside vendor (like MailChimp) to deliver email for you.

Delivering HTML Email

Lots of email marketing newbies make the mistake of setting up forwarding lists, or CC’ing copies of a message to all their customers. This causes all kinds of problems—especially when a customer clicks “reply-all.” First of all, there’s no way to track or personalize for a big group like that. And most importantly, it just looks unprofessional and impersonal when recipients can see your entire list of other recipients. (All this without mentioning the privacy concerns of exposing a bunch of email address like that.)

That’s why when an email-marketing system like MailChimp sends your campaign, we take your message and send it one at a time to each recipient on your list (really, really fast). Unlike your work computer linked to your local ISP, which probably has a standard monthly bandwidth limit, email-marketing vendors use dedicated mail servers capable of sending hundreds of thousands of emails per hour.

Email Delivery Considerations

Sending a mass email comes with a handful of delivery considerations. For instance, if you send from your own server, your ISP may throttle your outgoing emails or shut down your account if you send too much too fast. They may also shut you down if you exceed your monthly bandwidth limit.

Email firewalls and ISPs that receive your campaigns don’t like receiving tons of emails from a single IP address at once (unless they normally receive tons of emails from that IP). So if you only send occasional email campaigns from your IP, you may want to throttle your delivery or spread them across multiple IPs, to avoid accidental blocking. Email-marketing services usually split your campaign into pieces and send it out over lots of different IP addresses to avoid this issue.

If you send emails from your desktop email program, chances are you’re connecting through your local ISP. If you don’t have a dedicated IP address set up with your ISP, you’re probably sending emails from a dynamic IP address. ISPs and spam filters don’t like receiving lots of emails from a dynamic IP address, because it looks like a hijacked home computer. If you’re not using an email-marketing vendor like MailChimp, you should always send from a dedicated IP address.