Guide

Why your transactional email lands (or doesn't)

You are not sending marketing email. You are sending password resets, order confirmations, and account alerts, the emails your users depend on. When they stop arriving, your support queue fills up and your activation and retention numbers quietly tank. The frustrating part is that transactional email deliverability is decided by the same boring DNS records as everything else, and a single broken record can take your whole app's email out of the inbox with no error in your logs. Here is what actually decides delivery, and how to check it.

1. Why transactional email still goes to spam

Providers do not give transactional email a free pass. Gmail and Microsoft judge your sending domain the same way they judge anything: is SPF aligned, is DKIM signing, is DMARC present, does the IP have a clean reputation, is TLS working. "Transactional" is a category you can request (like Google's transactional email program or Microsoft's SNDS), but it does not override a broken record. If your SPF record is missing an include after you switched ESPs, or your DKIM selector rotated, your transactional email lands in spam exactly like your marketing email would. The category matters less than the records.

2. The records that decide delivery

For your sending domain (the domain your app sends from, which may be your main domain or a dedicated sending subdomain), providers check: MX records, so the domain can actually receive mail and bounces; SPF, so the receiving server knows which IPs are allowed to send; DKIM, so the message is signed and the receiver can verify it came from you; DMARC, so there is a policy for what to do when SPF or DKIM fail; TLS, so the connection is encrypted; PTR, so the sending IP resolves back to a hostname; and IP reputation, so the IP itself has not been flagged for spam. Any one of these failing can cost you delivery. A deliverability audit checks all seven and tells you exactly which one is broken.

3. How to check your sending domain

Run a free audit on your sending domain and you get a 0 to 100 score with the exact records that are failing and the exact value to fix. This is the fastest way to find out why your emails are not landing. If the score is high, your records are fine and the problem is elsewhere (usually IP reputation or a provider-specific issue). If the score is low, you have a concrete list of DNS changes to make, and you can verify each one by re-running the audit. No account, no DNS changes, nothing to install.

4. The failures that are invisible until it is too late

The dangerous failures are the ones that happen after you have already set things up correctly. An ESP rotates your DKIM key and the old selector stops signing. A provider changes the IP range your mail comes from and your SPF include no longer matches. Your DMARC record expires or gets overwritten by a misconfigured tool. None of these show up in your application logs, because your app is still sending fine and the ESP is still accepting the mail. The failure only shows up when recipients stop receiving it. The only way to catch these early is to re-check the records on a schedule and alert the moment one changes.

5. Monitoring your sending domain

This is the part most developers skip because it is not in their codebase. Your sending domain is infrastructure, and infrastructure needs monitoring. A deliverability monitor re-checks your domain's SPF, DKIM, DMARC, MX, TLS, PTR, and IP reputation on a schedule and pings you the moment one breaks, expires, or a provider changes your sending IP. For a SaaS product, that is the difference between catching a broken DKIM key in minutes and finding out from a support ticket that nobody has been able to reset their password for two days. It is cheap insurance on the one thing your product cannot function without.

Start with a free audit on your sending domain

Run a free audit on your sending domain now and see the seven-check score plus the exact records to fix: DMARC checker or the full audit. When you want your sending domain re-checked daily and an email the moment a record breaks, that is what the Pro tier is for, up to 5 domains with daily re-checks and alerts.

Related guides
Why email goes to spam
Email deliverability checklist
DKIM not signing emails? How to fix it
How to set up a DMARC record