ItsBingMyBusiness

Deliverability

What makes transactional mail get filtered

A password reset is requested by the recipient seconds before it is sent. It is the most clearly wanted message in existence, and it still ends up in spam.

The filter does not know it was requested. It sees a message, and the message is usually fine. The reasons it gets filtered are mostly elsewhere.

Shared reputation with marketing

The most common cause. The newsletter and the password reset leave from the same domain and the same IPs, so the newsletter's complaint rate applies to both.

Transactional mail earns almost no complaints and that counts for nothing if it is pooled with mail that does. Separate the streams — different subdomains, ideally different IPs. See the subdomain strategy and why the streams should be separate.

The From address

noreply@ is a weak signal. It tells a filter — correctly — that this is automated, and it tells the recipient that replying is pointless, so they never reply, and replies are a positive engagement signal.

Use an address that accepts mail, even if a human only reads it occasionally. The engagement difference is small; it is also free.

Content that resembles what it is not

Transactional templates drift toward marketing over time. A receipt acquires a banner, then a promotion, then a product recommendation.

Now it is a marketing message in a transactional stream, scored like marketing, and in some jurisdictions it has acquired legal obligations the original did not have. Keep the receipt a receipt.

Image-heavy templates with little text

A message that is one large image with a line of alt text is a classic spam pattern, because it is how senders used to evade text-based filtering. Filters still weight it.

Keep the substance in text. The important information — the code, the link, the amount — should be readable with images disabled, which is also how a meaningful share of recipients read mail.

Missing or token plain text

A multipart message should have a genuine text alternative containing the same essential information. A text part that says "view this email in your browser" is worse than none: it looks like evasion.

Link mismatch

Display text showing one domain while the href points at another is phishing behaviour, and filters score it as such. If you wrap links for tracking, wrap them on a subdomain of your own sending domain so the visible and actual destinations are related.

Sending to addresses that bounce

Continuing to send to invalid addresses signals a list nobody maintains, and that reputation applies to the whole domain — including the transactional stream.

Suppress hard bounces immediately. See suppression list design.

Where to start

Run one real message through the inbox tester. It scores authentication as a receiver computed it, plus blocklist status and content — which separates "the message is wrong" from "the configuration is wrong" in about a minute.

Ready to send authenticated mail?

DKIM signing, SPF alignment and DMARC are set up the moment you verify a domain.

Get started