spf · dkim · brevo

SPF record for Brevo

The record to publish, what it costs against your 10-lookup budget, and the DKIM part most guides leave out.

The record

If Brevo (also called Sendinblue) is the only thing that sends mail as your domain, this is your complete SPF record:

v=spf1 include:spf.brevo.com ~all
Type
TXT
Name
@ (the domain itself)
Value
v=spf1 include:spf.brevo.com ~all
TTL
3600 (or your panel's default)

If you already have an SPF record, add the include term to it — do not publish a second record. Two SPF records on one domain is a permanent error, and receivers respond by ignoring SPF for your domain completely.

What it costs you

RFC 7208 gives a receiver a budget of 10 DNS lookups to evaluate your record. Every include:, a, mx and exists: term costs one — including the terms inside the records you include. That last part is what catches people.

include:spf.brevo.com costs 1 of 109 left for everything else

Flat, one lookup.

Check your own domain first

Before changing anything, see what you currently have. The checker expands your whole include chain and counts the lookups the way a receiver does.

DKIM, which matters more than SPF

SPF authorises a sending server. The moment a message is forwarded, the forwarding server is not on your list, and SPF fails — legitimately. DKIM signs the message itself, so it survives forwarding. For anything transactional (invoices, receipts, password resets) DKIM is the record that keeps working.

Brevo publishes DKIM as TXT, normally under the selector mail. Two things go wrong most often:

  • Only some of the records get published. Providers that use several CNAMEs (Amazon SES uses three, Microsoft 365 uses two) look configured in their own UI while signing is still broken.
  • The CNAME points somewhere with nothing behind it. The setup was started, the provider side was never finished, and mail is signed with a key nobody can fetch. That is worse than no DKIM at all.

The checker follows CNAME chains and tells you which of those two you are looking at.

Then add DMARC

SPF and DKIM on their own tell receivers nothing about what to do when a check fails. DMARC does, and it is also the only way you ever find out that someone is sending forged invoices as your domain. Start in monitor mode:

v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; fo=1

Publish that at _dmarc.yourdomain.com, read the reports for two to four weeks, then move to p=quarantine and eventually p=reject. The staged rollout is here.

Lookup costs on this page were measured against live DNS on 2026-08-21 with the checker above, not copied from documentation. Providers do change their records — re-check yours rather than trusting a number in a blog post, including this one.

FAQ

What is the SPF record for Brevo?
Add include:spf.brevo.com to your existing SPF record — do not create a second record. A domain that sends only through Brevo needs: v=spf1 include:spf.brevo.com ~all
How many DNS lookups does the Brevo SPF include use?
1 of your 10, measured against live DNS on 2026-08-21. That leaves 9 for every other service you send from.
Do I need DKIM as well for Brevo?
Yes. SPF breaks the moment a message is forwarded; DKIM survives forwarding. Brevo publishes DKIM as TXT, typically under the selector mail. Without DKIM, a customer forwarding your invoice turns it into a DMARC failure.
Can I have both Brevo and another provider in one SPF record?
Yes, and you must — one record, multiple include terms. What you cannot do is publish two separate SPF records; receivers return permerror and ignore SPF entirely when they see more than one.

Other providers

All 24 providers and 12 guides →

Still broken after the DNS is right?

Email authentication is DNS. Payment notifications not arriving is usually not — it is a webhook that failed signature verification, an event type you never subscribed to, or a status that never synced. That is what I fix: a fixed-fee $99 root-cause diagnosis, credited toward the repair.