There is a belief that spam placement is a content problem, and that the fix is writing differently, using fewer images, or avoiding certain words. For most business senders in 2026 that is not what is happening.
What is happening is authentication, and the consequence has changed. Non-compliant mail is now rejected at the SMTP level rather than filed in spam. It bounces. The sender sees a failure code, the recipient never sees anything at all.
The gap is measurable. Compliant senders average around 89% inbox placement. Non-compliant senders see 22 to 34% of their mail routed to spam, which is a three to sevenfold penalty on the same content.
The four records, in the order they matter
SPF lists which servers are allowed to send for your domain. Publish one, and keep it accurate: every service that sends on your behalf, and nothing that does not.
DKIM signs each message with a private key so the receiver can verify with your published public key that the message was not altered. SPF says who may send; DKIM proves who did.
DMARC ties the first two to the domain the recipient actually sees, and tells receivers what to do when the check fails. This is where most setups quietly fail. You can hold a valid SPF record and a valid DKIM signature and still fail DMARC, because DMARC also requires alignment: the domain in the visible From header has to match the domain that SPF or DKIM authenticated. Misalignment is what produces 421-4.7.32 from Gmail and 550 5.7.515 from Microsoft.
MTA-STS is the one almost nobody publishes. It tells sending servers that mail to your domain must travel over TLS, and refuses the delivery if it cannot. It protects mail arriving at you rather than mail leaving you, which is why it is skipped, and it is also the difference between encryption you hope for and encryption you require.
The thresholds you are actually measured against
If your domain sends 5,000 or more messages a day to Gmail, Yahoo or Outlook users, all three require the full set. Beyond authentication, two numbers matter:
- Spam complaint rate below 0.3%. Exceeding it triggers throttling immediately, not eventually.
- One-click unsubscribe that works, and that removes the address promptly.
Below 5,000 a day you are not formally in scope, and the checks still run. The difference is how quickly you find out.
The order to fix it in
- Publish SPF, and list every sender. Marketing platform, CRM, invoicing system, the lot.
- Sign with DKIM on every one of those senders, not only the main mail server.
- Publish DMARC at
p=nonefirst and read the reports for a fortnight. They will name senders you had forgotten. - Fix alignment on anything the reports show failing.
- Move DMARC to
p=quarantine, then top=rejectonce the reports are clean. - Publish MTA-STS, in
testingmode first, thenenforce.
The step people skip is the fortnight at p=none. It is the only step that tells you the truth about what is sending as you, and it costs nothing but patience.
Why we write about this
We run our own mail infrastructure, with all four records in place and MTA-STS in enforce mode. Not because it is interesting, but because a client whose invoices bounce has a problem no amount of good copy will solve.