Anti-spammers have a much more difficult time blocking spam than spammers have sending it. Why?
MailChannels Outbound Filtering service combines numerous sophisticated techniques to stop spammers, including
- Comparing message content for similarity with known spam campaigns;
- Looking for URLs and domains that are known to be associated with spammers; and,
- Watching dozens of behavior characteristics to detect spammer-like behavior.
Yet, even with sophisticated algorithms and large amounts of infrastructure, it's impossible for any spam filtering approach to filter 100% of spam without ever making a mistake. Why is this the case, when as humans it seems so obvious when a message is spam?
When a spammer's attempt to send spam fails (i.e. when their spam is rejected), the consequence is minimal, as they can always just try again, and the cost of sending a message (or a millions messages) is very low. By contrast, if we fail at spam filtering, the consequence is that either a) some spam gets through, or worse b) we block a message that we weren't supposed to, causing someone a great deal of pain and suffering.
Because the cost of making a mistake is so high for the anti-spam side, we have to be more careful than the spammer. And in being careful, we have to accept that we'll let some spam through in service of keeping our false positive rate as low as necessary to keep email users happy. Said another way, if we wanted to make a really effective spam filter, we could block much more spam just by tuning our parameters; however, we would definitely end up making more mistakes and harming users. And then nobody would want to use the filter.
So, the reason that MailChannels Outbound Filtering doesn't catch all the spam is because we have to be more careful than the spammers - much more careful. And in being careful, we necessarily have to tune our system to let some of the spam through, in order to ensure that our rate of false positives is as close to zero as possible.