uCheckeruChecker

Spam filter: how mail providers decide where your email lands

A spam filter is a software mechanism that evaluates every incoming message and routes it to the inbox, the spam folder, or rejects it at the server level. Filters run on the provider side (Gmail, Outlook, Yahoo), on corporate mail gateways, and inside individual mail clients. For anyone sending bulk email, the spam filter is the main barrier between clicking Send and the message appearing in a subscriber’s inbox.

How spam filters work: layers of analysis

A modern spam filter is not a single rule. It is a pipeline of checks that run in sequence, each contributing a weighted signal. The final decision — inbox, spam folder, or outright rejection — is the aggregate of all those signals. The pipeline typically covers four layers: connection-level checks, authentication verification, content analysis, and engagement history.

At the connection level, the receiving server inspects the sending IP before it reads the message body. It queries DNS-based blocklists (Spamhaus SBL, Barracuda, SORBS) and checks IP reputation. A blacklisted IP means immediate rejection — the content never matters.

Next comes authentication. The server checks SPF (whether the sending IP is authorized for the domain), DKIM (whether the cryptographic signature is valid), and DMARC (whether SPF and DKIM align with the From domain). Since February 2024, Google and Yahoo require all bulk senders to pass these checks. Failure results in quarantine or rejection regardless of content quality.

The content layer is what most people think of when they hear “spam filter.” The system examines subject lines, body text, HTML structure, links, images, and attachments. Rule-based engines like SpamAssassin assign positive or negative scores to hundreds of content features. Machine learning models at Gmail and Outlook do something similar but with far more variables and continuous retraining on billions of messages.

Finally, engagement signals act as a feedback loop. Gmail pioneered this approach: if recipients consistently open emails from a sender, reply, or move them out of spam, the filter learns to trust that sender. Deletions without reading, “Report spam” clicks, and low open rates teach it the opposite.

Types of spam filters

Filters differ by location and analysis method. In practice, a message passes through several of them in sequence, so senders have to account for all types at once.

Provider-side filters. Gmail, Outlook.com, Yahoo Mail — each has its own ML-based filtering system processing billions of messages per day and continuously retraining on user actions. The sender never sees the internal score. The provider makes a binary call (inbox or spam) and discloses no details.

Corporate gateways. Companies deploy Proofpoint, Mimecast, Barracuda Email Security Gateway, or Microsoft Defender for Office 365 in front of their mail server. The gateway intercepts all inbound mail and filters it before it reaches Exchange or Google Workspace. Rules here are often stricter than at public providers: an admin can block certain attachment types, ban entire domains, or set a low spam score threshold.

Open-source filters. SpamAssassin, Rspamd, and Bogofilter run on hosting provider servers and small company infrastructure. SpamAssassin uses a weighted rule set: each matched pattern adds or subtracts from a total score, which is then compared to a threshold (typically 5.0). Rspamd is faster and supports neural modules, but the logic is the same — weighted scoring.

Client-side filters. Thunderbird, Apple Mail, and desktop Outlook have built-in Bayesian filters that train on each user’s own decisions. If a recipient manually moves your messages to spam, the client remembers and starts blocking future ones automatically.

What triggers spam filters: common mistakes

Knowing the mechanics helps, but senders need concrete examples of what goes wrong. These are the patterns that consistently cause deliverability problems.

Missing or broken authentication. No SPF record, an expired DKIM key, or a DMARC policy set to “none” with no reporting. Any of these tells the receiving server that the sender has not bothered to prove identity. The result is not always immediate blocking, but it removes the positive signal authentication provides, making the filter lean toward suspicion.

Sending to stale lists. Email addresses decay at roughly 2-3% per month. Addresses valid a year ago may now be hard bounces or, worse, recycled spam traps. A single send to an uncleaned list can spike bounce rate above 5%, trigger blocklist entries, and damage sender reputation for weeks.

Content red flags. Excessive capitalization in subject lines, image-only emails without text, shortened URLs (bit.ly, tinyurl), hidden text in HTML, and a mismatch between the plain-text and HTML versions. None of these is fatal in isolation, but they stack. Three or four minor triggers in one message can push the spam score past the threshold.

Volume spikes without warmup. Switching to a new IP or domain and immediately sending 50,000 emails is a textbook spam pattern. Filters expect volume to ramp gradually. A sudden spike signals either a compromised account or a new spammer, and the response is throttling or blocking.

How to pass spam filters: practical steps

  • Set up SPF, DKIM, and DMARC. Verify them after every DNS change. A broken DKIM signature is worse than no signature — it shows the filter an active mismatch.
  • Validate your subscriber list regularly. Remove hard bounces after the first failure, filter out spam traps, and suppress addresses that have not opened anything in six months.
  • Warm up new IPs and domains. Start with a few hundred emails per day and scale over two to four weeks.
  • Add a List-Unsubscribe header with one-click unsubscribe support (RFC 8058). As of 2024, this is a mandatory requirement from Google and Yahoo for bulk senders.
  • Keep complaint rate below 0.1%. If complaints are climbing, revisit your send frequency and segmentation.
  • Test emails before sending. Tools like mail-tester.com or GlockApps show the spam score and the list of SpamAssassin rules that fired.
  • Use your own tracking domain for click links instead of a shared ESP domain. Shared tracking domains inherit the reputation of all other customers on the service.

Spam filters and list quality: the connection

Spam filters do not evaluate each email in a vacuum. They remember. Every bounce, every spam complaint, every spam trap hit builds a sender’s reputation profile that persists across campaigns. A sender with a clean track record gets the benefit of the doubt: minor content issues are forgiven, and new campaigns land in the inbox by default. A sender with a damaged reputation faces the opposite — even a well-crafted message may go to spam because the filter has learned to distrust the source.

List hygiene is not a one-time task but a recurring process. Every new subscriber should be verified at the point of entry. Existing lists need revalidation periodically — quarterly at minimum for active senders. The cost of validation is trivial compared to a blacklisted domain or a month of degraded inbox placement.

What happens when mail lands in spam

Landing in the spam folder is not the end, but the consequences are wider than they look. Beyond the immediate message going unread, a chain reaction starts. The provider notes that the recipient did not interact with the message. That lowers the sender’s engagement signal. The next message is more likely to go to spam too. If the pattern continues, the provider starts filtering all mail from that sender at the domain level.

Recovery works in reverse, but more slowly. If a sender cleans the list, reduces bounce rate and complaint rate, filters gradually rebuild trust. On Gmail this can take two to four weeks, provided send volume stays stable and engagement metrics improve.

uChecker removes invalid addresses, spam traps, and risky contacts from your list before they reach your mailing. A clean list means fewer bounces, fewer complaints, and fewer reasons for a spam filter to route your message to junk.

spam filterdeliverabilitySpamAssassincontent filteringsender reputationSPF DKIM DMARC
← Glossary