Answer two questions — what to do with mail that fails, and where to send reports — and get a ready line.
SPF and DKIM answer “is this message genuine?”. DMARC answers the
second, far more important question: what to do when it is not.
It is a record on the _dmarc subdomain holding two things: a policy
and a reporting address.
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; fo=1
p=none blocks nothing. That sounds pointless — but it is what turns
reports on, and reports show what you do not know: who else sends mail as your
domain. There is almost always a forgotten CRM, an old mailing service or a script
on a server that only a departed colleague remembered.
Jumping straight to p=reject throws their mail away the same day,
before you learn they existed. The right path: none → collect reports
for two or three weeks → add what you find to SPF and DKIM → quarantine
→ reject.
Its least obvious part. DMARC requires the domain that passed SPF or DKIM to
match the domain in the From header. A message from
you@company.com sent through a mailing service with its own envelope
passes SPF — but it is the service's domain that passed, not yours. SPF=pass,
DMARC=fail.
The cure is a DKIM signature with your own domain; nearly every service lets you
add your key. Our header analyzer shows this: check whether d= in the
signature matches the From domain.
Since 2024, senders of more than 5000 messages a day need SPF, DKIM, DMARC (at
least p=none), a List-Unsubscribe header with one-click
opt-out, and a complaint rate below 0.3%. This is not advice: without them mail is
simply not accepted.
All three work without signing up and store nothing. For the bigger picture on deliverability see staying out of spam and Gmail limits.
MailSharks sends to a list from your Google Sheet: with pauses, unsubscribes, suppression lists and open statistics. Free plan, no card.
Open the app The service sells no domains and no SMTP servers: mail leaves from your address.