How to send mass e-mail the right way
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 ("mail.example.com" vs "example.com").
- 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
Twitter
Application Security: Securing Web Apps, APIs, and Microservices | Online | US Eastern | Jan 27th - Feb 1st 2025 |
Comments
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.
http://luxsci.com/blog/high-volume-bulk-email-key-ingredients-for-good-deliverability.html
-Erik Kangas
Anonymous
Jan 29th 2014
1 decade ago
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.
Anonymous
Jan 29th 2014
1 decade ago
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>
Anonymous
Jan 29th 2014
1 decade ago
Anonymous
Jan 30th 2014
1 decade ago