The exact SPF record
Copy the example that matches your setup. Each one is a single TXT record; the host is shown as your DNS provider usually expects it (@ means the domain itself).
HubSpot's own example (your number will differ)
Type: TXT · Host: @
v=spf1 include:anotherprovider.com include:123456.spf03.hubspotemail.net -all
HubSpot and Microsoft 365
Type: TXT · Host: @
v=spf1 include:spf.protection.outlook.com include:123456.spf03.hubspotemail.net -all
Replace 123456.spf03.hubspotemail.net with the value from your HubSpot account.
HubSpot and Google Workspace
Type: TXT · Host: @
v=spf1 include:_spf.google.com include:123456.spf03.hubspotemail.net -all
Replace 123456.spf03.hubspotemail.net with the value from your HubSpot account.
How SPF applies to HubSpot mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). HubSpot sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- HubSpot says DNS changes usually take 10 to 70 minutes and can take up to 48 hours.
- Because the include is account-specific, we can't measure its lookup cost in advance. Check your full record with the SPF Checker after publishing it.
How to add it
- In HubSpot, click the settings icon, then go to Content, Domains & URLs, and connect your email sending domain.
- HubSpot generates the DNS records to add: an MX record, two CNAMEs for DKIM, a TXT record for SPF and a TXT record for DMARC.
- If you already have an SPF record, add the part after
include:from HubSpot's Required data column to it. Keep a singlev=spf1and a single-all. - Wait at least 20 minutes, then check the status in HubSpot (Not authenticated, Partially authenticated or Authenticated) and with the SPF Checker below.
DKIM and DMARC alignment
HubSpot shows a domain as Partially authenticated when DKIM is verified but SPF or DMARC isn't yet, and Authenticated when all three are verified. DKIM uses two CNAME records generated for your account.
DMARC passes when SPF or DKIM passes and the domain it checked matches your From domain. Our guide to SPF, DKIM and DMARC explains how the three fit together.
Common mistakes
- Two SPF records. A domain may publish only one record that starts with
v=spf1. With two, receivers return a permanent error and SPF fails for all your mail (RFC 7208 section 3.2). Merge every sender into one record. - More than 10 DNS lookups. Each
include,a,mx,existsandredirectcosts a lookup, nested ones included; over 10 is a PermError (section 4.6.4). See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. HubSpot's documentation uses-all.-allasks receivers to reject unlisted servers;~allasks them to accept but mark the mail. Once DMARC is enforced, receivers act on DMARC instead. Read SPF soft fail vs hard fail before you choose. - Pasting HubSpot's example number (123456) instead of your own account's value.
- Ending up with two
v=spf1strings or twoallterms after merging.
Check your SPF record
See your live record, every nested include and the real lookup count. Free, reads public DNS only.
Building a record for your other senders? Use the SPF Record Generator.
Frequently asked questions
What is HubSpot's SPF include?
It is specific to your account and looks like include:123456.spf03.hubspotemail.net. Find it in HubSpot under Settings, Content, Domains & URLs, in the Required data column for your email sending domain.
How do I add HubSpot to an existing SPF record?
Add HubSpot's value after include: to your current record, so it still starts with one v=spf1 and ends with one all. For example: v=spf1 include:spf.protection.outlook.com include:123456.spf03.hubspotemail.net -all.
Why does HubSpot say my domain is partially authenticated?
HubSpot shows Partially authenticated when DKIM is set up and verified but SPF or DMARC still needs to be verified. Check that the SPF include and the _dmarc record are published, then verify again.
Sources
- HubSpot Knowledge Base: Manage email authentication in HubSpot
- RFC 7208: Sender Policy Framework (SPF)
Values checked against HubSpot's documentation on October 9, 2026. Lookup counts measured with our SPF Checker on October 9, 2026; providers change their records, so check yours before relying on a number.
SPF records for other providers
- Microsoft 365include:spf.protection.outlook.com
- Google Workspaceinclude:_spf.google.com
- Zoho Mailinclude:zoho.com
- GoDaddyinclude:secureserver.net
- Fastmailinclude:spf.messagingengine.com
- Proton Mailinclude:_spf.protonmail.ch
- Amazon SESinclude:amazonses.com
- SendGridinclude:sendgrid.net
- Mailguninclude:mailgun.org
- PostmarkNone needed
- MailchimpNone needed
- BrevoNone for standard sending; spf.brevo.com with a dedicated IP
- KlaviyoNone needed
- Salesforceinclude:_spf.salesforce.com
- Zendeskinclude:mail.zendesk.com
- Freshdeskinclude:email.freshdesk.com
- IntercomNone needed
Related guides
SPF record syntax and examples
SPF record syntax explained: mechanisms, qualifiers and modifiers, with copy-ready examples for Microsoft 365, Google Workspace, subdomains and parked domains.
9 min read SPF, DKIM & DMARCHow to fix SPF PermError: too many DNS lookups
Why SPF breaks at 10 DNS lookups, how to count them, and step-by-step fixes for Microsoft 365 and Google Workspace domains with many senders.
8 min read SPF, DKIM & DMARCSPF softfail vs hardfail: should you use ~all or -all?
What ~all, -all and ?all mean in SPF, what receivers really do with each, how DMARC changes the choice, and which one to use for sending and parked domains.
8 min readLast updated