Tips that prevent your mailing being marked as ‘spam’
Introduction
The last couple of weeks I was working on writing a mailing/newsletter system myself. One of the first questions that came up was “how do I prevent that my newsletter will be marked as spam”. Although this article has nothing to do with PHP I still like to put it in the spotlight. I will give some tips on how to avoid your mail being marked as spam, some you will know, others you won’t.
How is determined if my email is spam?
Mostly this is done by so called spam filters (server side or client side), some well known examples:
Some of them work with the Bayesian filter. This filter is one of the most accurate filters available. It will detect 98% of the spam mails by an algorithm. Essentially the filter will check if words occur a lot in spam mails but not in normal mails, if spam words occur a lot in a mail we can assume we are dealing with a spam mail. Before we can use this filter we need to build a database with legitimate words. This database is build by the filter, it monitors all outgoing mails from the user and the incoming mails. By checking which words are used in the outgoing mails from the user it can “learn” which words are legitimate. Each word will get a score, the score will represent the probability of the mail being a spam mail (the mail in which the word appears).
An example:
We take the word “casino”, let’s suppose this word occurs in 100 of the 500 spam mails and only in 5 of the 500 legitimate mails. The spam score for this word will be:
(100/500) / (5/500 + 100/500) = 0,95
Off course spam filters use a lot of other techniques too.
Tips to lower your spamscore
I hope you now have a more clear understanding of how the most spam filters work. So lets start with some tips.
- don’t use words and phrases that are often used in spam mails, for a small list see the Microsoft Junk E-Mail Filter Readme, also the use of complete phrases in capitals is killing.
- use a dedicated mailserver, why? Most filters will recognize the IP from which a mail is coming, if the mailserver IP is recognized as a server from which the filter is getting legitimate mails more often, it will work in your advantage
- Don’t send any attachments with a mailing, virus scanners aren’t too happy about them, neither are spam filters
- Send good content. Try to make the content of each newsletter as different as possible, filters will recognize texts that have occurred before. Also pay attention not to send just one big image and just a few lines of text, you will get a penalty for that one too. Find a balance between the amount of images, the size of them, and the amount of text.
- Use a real mail address from which the newsletter is coming, filters will often check the domain (using an address with a domain like hotmail, gmail, yahoo,… doesn’t count).
- Don’t use url shorteners, url shorteners like bit.ly or TinyUrl are often used by spammers
A last one, but nevertheless an important one “don’t prevent your mail being marked as spam”. Okay that sounds silly right? What I mean is that if you write a whole paragraph in your mailing about how someone can unsubscribe this will be seen as suspicious also avoid text like “this is not spam”.
More tests that will possibly increase your spam score can be found on the website of SpamAssassin. Some tests that caught my eye:
- use of the tbody html tag
- message body has many words used only once (this one increases your spam score a lot)
- Invalid date in header (wrong EST timezone)
Keep the above in mind when writing your next mailing 😉 good luck!
https://t.me/Official_1xbet_1xbet/s/631
AlbertEnark
17 Oct 25 at 3:10 am
https://t.me/Official_1xbet_1xbet/s/864
AlbertEnark
17 Oct 25 at 3:17 am
https://t.me/Official_1xbet_1xbet/s/850
AlbertEnark
17 Oct 25 at 3:17 am
https://t.me/Official_1xbet_1xbet/s/1538
AlbertEnark
17 Oct 25 at 3:38 am
https://t.me/Official_1xbet_1xbet/s/663
AlbertEnark
17 Oct 25 at 3:44 am
https://t.me/Official_1xbet_1xbet/s/1173
AlbertEnark
17 Oct 25 at 4:04 am
https://t.me/Official_1xbet_1xbet/s/194
AlbertEnark
17 Oct 25 at 4:11 am
https://t.me/Official_1xbet_1xbet/s/634
AlbertEnark
17 Oct 25 at 4:31 am
https://t.me/Official_1xbet_1xbet/s/114
AlbertEnark
17 Oct 25 at 4:37 am
https://t.me/Official_1xbet_1xbet/s/160
AlbertEnark
17 Oct 25 at 4:56 am
https://t.me/Official_1xbet_1xbet/s/1524
AlbertEnark
17 Oct 25 at 5:02 am
https://t.me/Official_1xbet_1xbet/s/710
AlbertEnark
17 Oct 25 at 5:24 am
https://t.me/Official_1xbet_1xbet/s/843
AlbertEnark
17 Oct 25 at 5:31 am
https://t.me/Official_1xbet_1xbet/s/775
AlbertEnark
17 Oct 25 at 5:52 am
https://t.me/Official_1xbet_1xbet/s/980
AlbertEnark
17 Oct 25 at 5:59 am
https://t.me/Official_1xbet_1xbet/s/992
AlbertEnark
17 Oct 25 at 6:19 am
https://t.me/Official_1xbet_1xbet/s/1026
AlbertEnark
17 Oct 25 at 6:25 am
https://t.me/Official_1xbet_1xbet/s/1181
AlbertEnark
17 Oct 25 at 6:46 am
https://t.me/Official_1xbet_1xbet/s/1493
AlbertEnark
17 Oct 25 at 6:53 am
https://t.me/Official_1xbet_1xbet/s/161
AlbertEnark
17 Oct 25 at 7:14 am
https://t.me/Official_1xbet_1xbet/s/513
AlbertEnark
17 Oct 25 at 7:21 am
https://t.me/Official_1xbet_1xbet/s/744
AlbertEnark
17 Oct 25 at 7:40 am
https://t.me/Official_1xbet_1xbet/s/456
AlbertEnark
17 Oct 25 at 7:47 am
https://t.me/Official_1xbet_1xbet/s/149
AlbertEnark
17 Oct 25 at 8:06 am
https://t.me/Official_1xbet_1xbet/s/354
AlbertEnark
17 Oct 25 at 8:13 am
https://t.me/Official_1xbet_1xbet/s/96
AlbertEnark
17 Oct 25 at 8:32 am
https://t.me/Official_1xbet_1xbet/s/951
AlbertEnark
17 Oct 25 at 8:39 am
https://t.me/Official_1xbet_1xbet/s/1151
AlbertEnark
17 Oct 25 at 9:00 am
https://t.me/Official_1xbet_1xbet/s/431
AlbertEnark
17 Oct 25 at 9:07 am
https://t.me/Official_1xbet_1xbet/s/1460
AlbertEnark
17 Oct 25 at 9:29 am
https://t.me/s/Official_1xbet_1xbet/1775
Josephadvem
17 Oct 25 at 9:51 am
https://t.me/Official_1xbet_1xbet/1664
Josephadvem
17 Oct 25 at 9:58 am
https://t.me/s/Official_1xbet_1xbet/1731
Josephadvem
17 Oct 25 at 10:20 am
https://t.me/s/Official_1xbet_1xbet/1715
Josephadvem
17 Oct 25 at 10:28 am
https://t.me/Official_1xbet_1xbet/1717
Josephadvem
17 Oct 25 at 10:28 am
https://t.me/s/Official_1xbet_1xbet/1646
Josephadvem
17 Oct 25 at 10:49 am
https://t.me/Official_1xbet_1xbet/1704
Josephadvem
17 Oct 25 at 10:56 am
https://t.me/Official_1xbet_1xbet/1765
Josephadvem
17 Oct 25 at 11:19 am
https://t.me/s/Official_1xbet_1xbet/1761
Josephadvem
17 Oct 25 at 11:26 am
https://t.me/Official_1xbet_1xbet/1834
Josephadvem
17 Oct 25 at 11:27 am
https://t.me/Official_1xbet_1xbet/1798
Josephadvem
17 Oct 25 at 11:49 am
https://t.me/s/Official_1xbet_1xbet/1616
Josephadvem
17 Oct 25 at 11:56 am
https://t.me/Official_1xbet_1xbet/1600
Josephadvem
17 Oct 25 at 11:56 am
https://t.me/Official_1xbet_1xbet/1604
Josephadvem
17 Oct 25 at 12:18 pm
https://t.me/s/Official_1xbet_1xbet/1651
Josephadvem
17 Oct 25 at 12:26 pm
https://t.me/Official_1xbet_1xbet/1720
Josephadvem
17 Oct 25 at 12:26 pm
https://t.me/s/Official_1xbet_1xbet/1769
Josephadvem
17 Oct 25 at 12:47 pm
https://t.me/s/Official_1xbet_1xbet/1656
Josephadvem
17 Oct 25 at 12:54 pm
https://t.me/s/Official_1xbet_1xbet/1817
Josephadvem
17 Oct 25 at 1:16 pm
https://t.me/s/Official_1xbet_1xbet/1638
Josephadvem
17 Oct 25 at 1:24 pm