---
title: "SPF: definition, record format and example"
url: "https://coldmeetings.com/glossary/spf.md"
canonical_url: "https://coldmeetings.com/glossary/spf"
last_updated: "2026-10-19"
type: "conceptual"
summary: "SPF is a DNS record that lists which servers may send mail for your domain. See its parts, a sample record and the ten-lookup limit."
related: ["https://coldmeetings.com/glossary/dkim.md", "https://coldmeetings.com/glossary/dmarc.md", "https://coldmeetings.com/glossary/sender-reputation.md"]
---

# SPF: definition, record format and example

> **For AI agents:** the complete index of ColdMeetings pages is [llms.txt](https://coldmeetings.com/llms.txt). Every page is also served as markdown at its URL plus .md.

SPF is a DNS record that lists which servers may send mail for your domain. See its parts, a sample record and the ten-lookup limit.

**What is SPF?**

SPF, short for Sender Policy Framework, is a DNS TXT record on your domain that lists the servers allowed to send mail using that domain. A receiving system checks the sending server against the list and treats a mismatch with suspicion.

Group: 4. Deliverability.

## The parts

1. **It starts with a version**: Every SPF record begins with v=spf1, which tells receivers how to read the rest.
2. **Mechanisms name the senders**: An include: entry pulls in the sending servers of a mail provider. Other mechanisms name addresses or ranges directly.
3. **The ending sets the stance**: The last term says what to do with mail from anyone not listed. ~all marks it as a soft fail, and -all asks receivers to reject it.
4. **Lookups are capped**: RFC 7208 limits a check to 10 mechanisms and modifiers that cause DNS lookups. A record that goes past it fails with a permanent error.

## The SPF record for brightharbor-mail.example

Brightharbor Freight Software is invented. Its sending domain uses its mailbox host plus two other tools, so its record lists three includes.

1. The record is published as one TXT entry at brightharbor-mail.example: v=spf1 include:_spf.google.com include:mail.surveytool.example include:send.helpdesk.example ~all
2. Each include counts as a lookup, so this record uses 3 of the 10 allowed.
3. That leaves 7 lookups of room before any further tool is added.
4. ColdMeetings lists the same shape for a Google Workspace sending domain from POST /v1/domains, with one include for the mailbox host.

DNS TXT record at brightharbor-mail.example, broken into parts.

| Field | Value | Note |
| --- | --- | --- |
| v=spf1 | Version | Marks this TXT record as SPF. |
| include:_spf.google.com | Allowed sender | Servers this provider sends from may use the domain. |
| include:mail.surveytool.example | Allowed sender | Servers this provider sends from may use the domain. |
| include:send.helpdesk.example | Allowed sender | Servers this provider sends from may use the domain. |
| ~all | Soft fail | Mail from any other server is marked as suspicious. |

## How to apply it

1. List every service that sends mail as your domain: the mailbox host, the helpdesk, the survey tool.
2. Publish one SPF record per domain. Two SPF records on one name make the check fail.
3. Count the lookups and keep the total at 10 or under.
4. Run a DNS check after each change. The ColdMeetings domain check reads live DNS until spf reports true.

## Common mistakes

- Publishing two SPF records instead of merging them into one.
- Adding every vendor the company has ever used until the lookup limit is passed.
- Treating SPF alone as enough. It checks the sending server, not the visible From address, so it works with DKIM and DMARC.

## Related terms

- [DKIM](https://coldmeetings.com/glossary/dkim.md): DKIM, short for DomainKeys Identified Mail, signs each outgoing message with a private key held by the sender.
- [DMARC](https://coldmeetings.com/glossary/dmarc.md): A DMARC policy is a DNS record you publish for your domain.
- [Sender reputation](https://coldmeetings.com/glossary/sender-reputation.md): Sender reputation is the running record a mailbox provider keeps about a sending domain or address, built from how recipients and receiving systems treated its past mail.

## Keep reading

- [Domains and inboxes](https://coldmeetings.com/product/domains-and-inboxes.md)
- [Email deliverability guide](https://coldmeetings.com/blog/email-deliverability-guide.md)
- [Cold emails going to spam](https://coldmeetings.com/blog/cold-emails-going-to-spam.md)

## Questions

### Is SPF required?

Google asks all senders to set up SPF or DKIM, and bulk senders to set up both. Yahoo asks for SPF or DKIM at a minimum and both from bulk senders.

### What is the difference between ~all and -all?

~all is a soft fail: mail from unlisted servers is marked suspicious. -all is a hard fail that asks receivers to reject it. Many senders begin with ~all while they confirm the list is complete.

### Where do I publish the record?

In the DNS of the domain you send from, as a TXT record at the domain name itself. ColdMeetings returns the exact record in required_records when you register the domain.

## Sources

- RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email: https://www.rfc-editor.org/rfc/rfc7208, read 2026-10-19
- Google: Email sender guidelines: https://support.google.com/a/answer/81126, read 2026-10-19
- Yahoo: Sender best practices: https://senders.yahooinc.com/best-practices/, read 2026-10-19

Questions about outbound for your own company? Email hello@coldmeetings.com.

## Related

- [DKIM: definition, record format and example](https://coldmeetings.com/glossary/dkim.md)
- [DMARC: definition, record parts and rollout](https://coldmeetings.com/glossary/dmarc.md)
- [Sender reputation: what shapes it](https://coldmeetings.com/glossary/sender-reputation.md)
