Skip to content

Blog

When your mail lands in spam, or never arrives

3 min readWritten by the site’s operator

Mail you definitely sent has not arrived. Or it arrived, and went straight into the spam folder. It is a quietly miserable problem.

What makes it hard is that nothing appears to be wrong at your end. It is in your sent folder, no error came back, and yet it is not there. There is nothing obvious to fix.

Causes vary, but if you send from your own domain, a large share of cases come down to missing proof that the sender is genuine. Receivers such as Gmail tightened these checks over the last few years, so mail that used to arrive can start failing without anything on your side having changed.

The receiving end checks three separate things

Email has always let the sender write whatever address they like — as easy as writing someone else’s name on an envelope. So receivers consult records published in DNS to decide whether the sender is really who they claim to be.

Sender (your domain)
SPF
Is this server allowed to send for the domain?
DKIM
Was the message altered on the way?
DMARC
What to do when the first two fail
Inbox
SPF and DKIM establish whether it is genuine; DMARC says what to do when it is not. Different jobs — so one on its own leaves a gap.
These are not three gates in a row. Each answers a different question, which is why one alone is not enough.

SPF — the list of servers allowed to send

A record naming the servers permitted to send mail for your domain. The receiver checks whether the machine that actually delivered is on that list. The most common gap by far is adding a mail service or a new platform and never updating SPF.

DKIM — a signature on the message itself

Outgoing mail is signed, and the receiver verifies it against a public key published in DNS. If anything was altered in transit, the check fails. Where SPF asks where it came from, DKIM asks whether the contents are intact.

DMARC — what happens when those fail

Your instruction for mail that fails the other two: `p=none` (do nothing), `p=quarantine` (treat as spam) or `p=reject` (refuse it). Without a DMARC record the receiver decides for itself, and the usual result is a higher chance of landing in spam.

Seeing what you currently have

All three are just strings published in DNS, so they are visible from outside. Choose “Mail settings” in this site’s DNS lookup, enter your domain, and SPF, DKIM and DMARC come back together. Anything absent says so, which tells you immediately which one is missing.

One caveat: DKIM cannot be found without knowing the selector. It differs per provider (`google` for Google, `selector1` for Microsoft) and cannot be guessed. The reliable way is to open a message you received and read `s=` inside its `DKIM-Signature` header.

If it still does not arrive

  • The sending IP has a poor reputation — on shared hosting, the behaviour of others on the same address affects you.
  • The content itself is triggering filters — very short bodies, mail that is just a URL, and heavy image use all count against you.
  • The recipient’s side is refusing it — corporate filters are strict and idiosyncratic, and can reject mail even when your setup is perfect. If you suspect this, a phone call is faster than more configuration.
  • The address is simply wrong — embarrassing, but common, and some receivers are configured not to bounce.

The worst part of undelivered mail is not knowing whether the problem is yours or theirs. Check the three records first. Once that is settled, you can at least say your side is in order.

The stem separation in this article runs free in your browser — no sign-up, and your audio never leaves your device.

Next article

5 min readSlow internet: what actually helps, and what does not

Video stalling in the evening, fine in the morning — what genuinely fixes a slow connection, and which widely repeated tweaks stopped mattering years ago. Starting with how to find the bottleneck.

All articles

Sponsored links