Publish an SPF record on Cloudflare
Why it matters
SPF is the list of servers allowed to send mail as your domain; without it anyone can send mail that claims to come from you and receivers have nothing to check it against. Publishing it also lets receivers judge your real mail more confidently.
Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.
The fix
- In the Cloudflare dashboard select the domain, then open DNS > Records and choose Add record.
- Set Type to TXT, Name to the domain (or @ for the zone apex), and paste the SPF text from the snippet as Content, replacing the example include with your provider's. Cloudflare adds the quotes itself.
- Leave TTL on Auto and save. TXT records cannot be proxied, so there is no orange cloud to worry about.
- Check the zone has no other TXT record starting with v=spf1; if it does, merge the two into one record. Start with ~all, tighten to -all only after every sender is confirmed.
- For a domain that sends no mail use the content v=spf1 -all. Only if no mailbox uses this domain, you can also add a null MX: Type MX, Name @, Mail server . (a single dot), Priority 0. If the dashboard rejects the dot, skip the null MX; SPF -all and DMARC p=reject are what stop spoofing.
text
Type: TXT Name: example.com Content: v=spf1 include:_spf.YOUR-MAIL-PROVIDER.example ~all TTL: Auto # Domain that sends no mail, Content: # v=spf1 -all # Only if no mailbox uses this domain, optional null MX: # Type: MX Name: @ Mail server: . Priority: 0
The examples use example.com. Replace it with your own domain.
Related
- Reported by the SPF record check
- Merge the SPF records into one
- Fix the syntax error in the SPF record
- Replace +all in the SPF record with ~all
- Narrow the very large address range in the SPF record
- Change ?all in the SPF record to ~all
- Choose the right SPF ending for this domain
- End the SPF record with ~all or -all
- Bring the SPF record under 10 DNS lookups
- Leave room under the SPF lookup limit
- Remove SPF terms that point at names that no longer exist
- Fix the SPF include that has no SPF record
- Break the loop in the SPF includes
- Replace the include that has several SPF records
- Replace the ptr mechanism in the SPF record
- Check the SPF terms that use macros
- Re-run the scan if part of the SPF record could not be read
Scan your domain to see whether this applies to you.