Note: this is the first post in a series on email delivery.
Thanks to the efforts of spammers around the globe, it’s increasingly difficult to send mail to a Hotmail or Yahoo! address without landing in the spam folder. Over the coming weeks, I’ll attempt to share some of the lessons I’ve learned about how startups can improve their email delivery. I hope that others might contribute their tips as well.
Do you actually need to send your own mail?
Going through the all the steps to get mail delivered from your servers properly can take a long time – a matter of weeks or months, depending on your needs. You probably need your own machine if:
- You send user-generated invites, OR
- You send large volumes of mail (ie, greater than around 1,000 per day)
You’ll save yourself time and money by outsourcing your delivery if you don’t meet the above criteria.
If you can outsource, try these
-
AuthSMTP – Offers secure SMTP servers to send your mail with plans priced from $2 / month and up. Great for low-volume senders – reasonably cheap, and it lets you avoid the headaches that this blog series deals with.
On the downside, you pay for a year in advance, though if you’re sending very high volumes (> 50k a month or so), you can contact them to negotiate a shorter term. Moreover, your mail can’t get marked as spam too often by end-users, as AuthSMTP has very strict usage policies.
- Google Apps – If you’re just getting started, you can send mail through an authenticated Google Apps mail account. Even the free versions of Google Apps allow you to do this; the caveat is that you can only send to around 500 different recipients from a single account per day. (As far as I know, this isn’t documented as a hard limit, but it appears to be the general consensus.)
- Newsletter delivery services – there are lots of these, like MailChimp and Constant Contact. They’re not particularly affordable for sending user-generated mail, so I haven’t tried any of them, but if anyone has recommendations please feel free leave them in the comments.
Sending your own mail
If you want to “go viral” like it’s 2007, or you send lots of mail, you’ll probably be better off setting up your own server. Here’s what you need to get started:
- Mail transfer agent: Installing an MTA is outside the scope of this blog; there are plenty of HOWTOs for various software packages and platforms out there. This is a nice comparison of the major MTAs. I’m sure everyone has their own favorite and their reasons behind it; mine is Postfixdue to its security and ease of configuration.
- Dedicated machine for sending mail: You need at least one dedicated box/IP for delivering mail. Each IP doesn’t have to be its own box/virtual server, but you should leave yourself some vertical upgrade room so that if your mail volume increases, you can still maintain the same IP. Your machine needs to be accessible by you and only you/your company – email whitelisting programs will want to verify your exclusive access with your ISP (more on this later).
You should provision a mail server sooner rather than later if you don’t have one already. Sender reputation is both domain-based and IP based, so getting a positive sending history started on your new IP helps establish you as a “good guy.”
Most ISPs recommend that you deliver different classes of mail from separate IPs, so that if one IP gets blacklisted it doesn’t affect your others. For example, you might want to send your user invitations from a different IP than your registration emails.
Next steps
Hopefully, with a bit of work, you can get your own mailserver up and running on its own IP. Unfortunately, that’s just the beginning. Up next we’ll talk about DNS-based anti-spam techniques, like Sender ID, DomainKeys, and DKIM, followed by bounce processing and ISP-specific programs and whitelists.
Got a question or a suggestion? Please leave a comment.