How to avoid bouncing or blacklisting
How to avoid your mail being branded as spam while it isn't.
Things your (ISP's) system administrator(s) should take care of.
Make sure you have a properly functioning reverse lookup. This should match the
forward and may not be an alias.
If your system is dual stack (both IPv4 and IPv6), make sure this works for
both IP addresses.
- The HELO / EHLO should be the fully qualified domain name and not just the
hostname. It should resolve to the ip nr of your mailserver or vice versa. If
your mailserver uses lots of interfaces which all have there own ip address,
create a 'fake' hostname which points to all interface addresses and use that
name in the HELO / EHLO. Make sure this works with both IPv4 and IPv6.
- The mailserver should not be an open relay; It should only accept mail if the
sender or recipient are users / customers on your mailserver. It should not
accept mail if both the sender and recipient are completely unknown to the
- Do not bounce when you really should reject. A setup which first accepts
the mail, only to send a bounce message later is just like an open relay.
Many systems will test to see if you accept mail for random addresses and
refuse all your mail if you do.
See Bouncing is evil for more information.
- There should be working postmaster and abuse accounts.
- Do NOT disable your verify (VRFI). Many mailservers will check both
transport and content sender and recipient. The combination of a spam message,
a non existent sender and a disabled verify will lead to a failing bounce. Many
sysadmins will block ALL MAIL from hosts which generate a lot of bouncing
- Make sure your bounces contain all original header information. bounces
with stripped headers are rejected by a lot of systems.
Your servers should use NTP to synchronise to an atomic
Mail with incorrect time is often rejected.
Make sure both your domain and your ip nr(s) are properly registered with whois.
Check that whois actually works properly. Some TLDs (Top Level Domains) don't
have a whois at all. Do not use these domains.
Sending mail without any form of registration is a spammer's heaven. You don't
want to support or be associated with spammers, do you now?
Things you should take care of.
Make sure the stuff your ISP does is actually RFC compliant. If not, change ISP.
If in doubt, get expert advice. And don't forget to get a 2nd and 3rd opinion.
- Make sure that the sender and recipient addresses are correct. Use a combined
full name and login name; 'John Doe <email@example.com>'.
- In case of a BCC (Blind Carbon Copy), put something like
'Undisclosed recipients: ;' in the 'To: ' field. This string should
NOT contain a '@', '<' or '>'.
- Use a subject giving a short description of the content of the email.
- Do not send large attachments unless at the recipient's request. If zipping
your attachment makes it much smaller, zip it.
- Do not send attachments unless you are sure the recipient has software
capable of reading your attachment.
- Use a mail program that generates a RFC compliant message id. It should look
more or less like; 'Message-Id: <E1BnfcM-0000bf-GI@mail.example.com>' or
'Message-Id: <firstname.lastname@example.org>' or
- Use a character set that is supported by the recipient. If in doubt, use
US-ASCII. Use UTF-8 (Unicode) whenever
- Don't use too many capitals. 'LOUD' emails are usually considered spam.
- Don't send HTML mail. HTML mail is often considered to be spam.
- Synchronise your PC to an atomic clock.
Mail with an incorrect time is often considered to be spam.