How to send mass e-mail the right way

Published: 2014-01-24
Last Updated: 2014-01-28 23:42:54 UTC
by Johannes Ullrich (Version: 1)
4 comment(s)

We all don't like spam, but sometimes, there are good reasons to send large amounts of automatically created e-mails. Order confirmations, newsletters or similar services. Sadly, I often see how it is done wrong, and would like to propose some rules how to send mass e-mails correctly. 

The risks of doing it incorrectly are two fold: Your e-mail will get caught in spam filters, or your e-mail will teach users to fall for phishing, endangering your brand.

So here are some of the rules:

- Always use an address as "From" address that is within your domain. Even if you use a third party to send the e-mail. They can still use your domain if you set them up correctly. If necessary, use a subdomain ("" vs "").
- Use DKIM and or SPF to label the e-mail as coming from a source authorized to send e-mail on your behalf. DKIM can be a bit challenging if a third party is involved, but SPF should be doable.  Using a subdomain as From address can make it easier to configure this. For extra credit, use full DMARC to setup e-mail addresses to receive reports about delivery issues.
- Use URLs only if you have to, and if you do, don't "obscure" them by making them look like they link to a different location then they actually do. Use links to your primary domain (subdomain as a work around).
- Try to keep them "plain text", but if you have to use HTML markup, make sure it matches the look and feel of your primary site well. You don't want the fake e-mail to look better then your real e-mail.
- watch for bounces, and process them to either remove dead e-mail addresses or find our about configuration issues or spam blocklisting quickly.

Of course, I would like to see more digitally signed e-mail, but I think nobody really cares about that. 

Any other ideas?

Johannes B. Ullrich, Ph.D.
SANS Technology Institute

4 comment(s)



Good topic on email deliverability! Here is a post that covers many of these email composition and best practices these points and adds some others not mentioned here.

-Erik Kangas
And suck it up and get control of your email infrastructure. Stop allowing every vendor in the world to send emails using your domain as the From: address. They are presenting themselves to the world as your company; hold them to the same high standards as you hold yourself to. Whitelist them specifically via a hard-fail SPF record if you can't avoid them sending such email.

Don't permit vendors who outsourced their email infrastructure to large free email services to send as your domain. You'll be whitelisting every one of that service's customers to forge emails against your company.

Stop using a soft-fail SPF record "just in case". Do it right. If you have multiple domains related to your company but you do not use them for email, set an SPF record of "v=spf1 -all" to tell everyone that no email using that domain could ever be legitimate. (We actually had a potential technology vendor who had a "+all" SPF record. I had to look it up to realize how incredibly lazy and stupid they were. That was a good indication of their performance.)

A recent phishing campaign mentioned here used a large company's domain. Why? Because it was easy. They do not have any kind of SPF record to protect their brand. Will you be next? Yes, it's hard to do especially if you've practiced bad email hygiene over the years. Your job is called "work" for a good reason.
This is interesting. I think in many organizations, though -- at least ones with internet savvy management and marketing users; often; marketing or sales management non-technical/non-security-interested business managers and marketing users will just make the decisions about content design, and either contract an outside company such as ConstantContact to do the mailout real quick, or get someone in marketing to stick all the recipients in the To: line and send it out ASAP.

With little or no IT input solicited or considered... and in many organizations, for political reasons, since marketing is their job not IT's: little or no interest in IT/Security team input. For sure, as an Engineer --- it would be difficult or impossible to dissuade marketing teams from demanding glossy HTML e-mail, with pretty links and flashy buttons.

IT/Engineering/Security's only role in the average newsletter mailout is to get blamed for a broken mail system, if the mailout doesn't go smoothly; for instance, if a number of recipients in the To: line was reached, or the email blast resulted in blacklisting. <G>
I'm a big fan of setting the "Auto-Submitted" to "auto-generated" for mass emails. This way, theoretically, vacation auto-responders will not reply. In practice, there's a lot of dumb vacation auto-responders out there. This header also adds useful semantic data for other purposes. See RFC3834 for more.

Diary Archives