A number of phplist users seem to have trouble getting their messages through the spam filters of email providers. This post briefly delineates a number of measures to keep your spam score as low as possible and to enhance the chances of reaching the inbox of your subscribers.
Check that your setup complies with RFC standards
Since spammers usually do not comply with (all) RFC standards, anti-spamming measures adopted by e-mail providers will tend to include a number of checks regarding RFC compliance.
- make sure you have a postmaster account (email@example.com) for your domain.
- make sure you have an abuse account (firstname.lastname@example.org)
- analyse the email header of your messages and check for errors. For instance, check whether the Return-path address is correct. The Return-path address should reflect the message envelope address, which is usually defined through the message_envelope setting in config.php. This address -as well as all other email addresses- must of course be an existing email account. Using an alias may result in trouble.
Check your Domain Name Server (DNS) configuration
A badly configured DNS may trigger spam protection tools used by the mail providers of your subscribers, and your messages risk being rejected or marked as spam. You should therefore check your DNS configuration and ask your host to correct any DNS configuration errors (and warnings) you may find.
Services to check your DNS are available on the Internet, for instance:
For more info on DNS: http://en.wikipedia.org/wiki/Domain_name_system
Make sure your message content is not 'suspect'
- avoid phrases and wording spammers commonly use.
- do not use (too) many images.
- avoid using HTML tags that could increase your spam score, e.g. iframe tags, multiple large font tags and/or color font tags (better use inline CSS styles instead).
- correct any HTML coding errors in your messages, since these too will increase your spam score.
Avoid sending attachments other than pdf
Be careful with sending attachments other than .pdf files. Attachments like .zip, .avi, .swf, .exe, etc., may trigger spam filters.
In time, a portion of the users on your lists will eventually change their email addresses. This may occur quite frequently with popular 'disposable e-mail addresses' from webmail providers like gmail, hotmail, yahoo, etc. A number of those users will not bother to update their email addresses through the phplist preferences link, and their email addresses will therefore bounce. Since sending messages to many non-existent users is likely to look suspicious, you should make sure you regularly process bounces to clean up your user lists.
Limit your sending speed
Sending many messages in a short time span is often considered suspicious behaviour from the point of view of (web)mail providers. Try using the mailqueue_throttle setting in config.php to space messages apart by a number of seconds.
You could also run some tests with the experimental domain_throttle feature of phplist.
See also: http://docs.phplist.com/PhpListConfigSendRate
- setup SPF, DomainKeys, or DKIM. See also this forum thread
- consider requesting inclusion in the 'whitelists' of important mail providers
- ask subscribers to 'whitelist' your From: email address in their email client or spam filter application
- Do not disable double opt-in by changing the phplist code base. Double opt-in (or "confirmed opt-in") is generally considered good practice and it will ensure that the users that subscribe really want to subscribe.
- make sure the unsubscribe link is easily available on every message you send. If your subscribers want to unsubscribe and cannot find the unsubscribe link, they will be tempted to mark your messages as spam instead, in order to get rid of them. Eventually this may result in your domain being blacklisted.
Bulk mail guidelines
Here are some guidelines published by specific providers which might be useful to read:
SpamCheck - Check the "spam score" of your messages
spamlinks.net - Everything you didn't want to have to know about spam