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).
iCloud Mail only (Apple's value)
Type: TXT · Host: @ · 5 of 10 DNS lookups
v=spf1 include:icloud.com ~all
iCloud Mail and a newsletter service that needs an include (Mailjet)
Type: TXT · Host: @ · 6 of 10 DNS lookups
v=spf1 include:icloud.com include:spf.mailjet.com ~all
How SPF applies to iCloud Mail mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). iCloud Mail sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- On 22 October 2026,
icloud.comredirected to_spf.icloud.com, which nested three more includes, for 5 lookups in total. That is half the budget of 10. - If your registrar doesn't accept
@as a host, Apple says to enter your domain name instead. If it rejects quotes or a trailing period, leave them out. - Apple says you can't set up a domain with iCloud Mail while your registrar has a lock on it.
How to add it
- Start the custom domain setup in iCloud Mail and enter the addresses you already use at the domain; Apple then shows the records to add.
- Sign in to your domain registrar or DNS host. Apple says the settings may be under names such as Advanced Settings, DNS Management or Mail Settings.
- Find the TXT record on
@that starts withv=spf1. If there is one, addinclude:icloud.combefore~all. If there isn't, create a TXT record withv=spf1 include:icloud.com ~all. - Add the other records Apple lists in the same session: the verification TXT record, the two MX records and the
sig1._domainkeyDKIM CNAME. Apple asks for a TTL of 3600 seconds. - Back on the iCloud Mail setup page, click Verify. Apple says it can take a few minutes; then check the live record with the SPF Checker below.
DKIM and DMARC alignment
Apple's record set includes a DKIM CNAME at sig1._domainkey that points to a target built from your own domain name (see our iCloud Mail DKIM page). With SPF and DKIM in place, add a DMARC record so receivers know what to do with mail that fails both.
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). iCloud Mail's include costs 5 on its own. See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. iCloud Mail'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. - Creating a second
v=spf1record for iCloud Mail next to an existing one. Apple says to add the include to the record you have. - Keeping the old MX records. Apple's setup asks you to delete the existing MX records before adding its two.
- Copying Apple's DKIM example literally: the
sig1CNAME target contains your own domain name in place ofexample.com.
Check your SPF record
See your live record, every nested include and the real lookup count. Free, reads public DNS only.
Building a new record? Open the SPF Record Generator with iCloud Mail filled in.
Frequently asked questions
What SPF record does Apple give for an iCloud+ custom email domain?
v=spf1 include:icloud.com ~all, as a TXT record on host @. If another service already has an SPF record on the domain, add include:icloud.com to that record before ~all instead of publishing a second one.
How many DNS lookups does include:icloud.com cost?
We measured 5 on 22 October 2026: the include itself, a redirect to _spf.icloud.com and three nested includes. That leaves 5 of the 10 allowed lookups for every other service in the same record. The SPF Checker counts your live total.
Why did my iCloud Mail domain fail verification?
Apple says to recheck the records for errors. Common causes: a second SPF record, old MX records left in place, a host that doubled your domain name, or a DKIM target still containing example.com. Apple also says a registrar lock on the domain blocks setup.
Sources
Values checked against iCloud Mail's documentation on October 22, 2026. Lookup counts measured with our SPF Checker on November 3, 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
- Rackspace Emailinclude:emailsrvr.com
- Hostingerinclude:_spf.mail.hostinger.com
- Private Emailinclude:spf.privateemail.com
- IONOSinclude:_spf-us.ionos.com
- Amazon SESinclude:amazonses.com
- SendGridinclude:sendgrid.net
- Mailguninclude:mailgun.org
- PostmarkNone needed
- Mailjetinclude:spf.mailjet.com
- SMTP2GONone needed (return-path CNAME)
- MandrillNone needed
- SparkPostNone needed (bounce-domain CNAME)
- Elastic Emailinclude:_spf.elasticemail.com
- Resendinclude:amazonses.com
- MailerSendinclude:_spf.mailersend.net
- MailchimpNone needed
- BrevoNone for standard sending; spf.brevo.com with a dedicated IP
- HubSpotAccount-specific (copy from HubSpot)
- KlaviyoNone needed
- ActiveCampaignNone needed (Mailserver Domain CNAME)
- SquarespaceNone needed
- ShopifyNone needed (CNAME records)
- Dynamics 365 Customer InsightsNone needed (optional: your envelope-from domain)
- MailerLiteinclude:_spf.mlsend.com
- Campaign Monitorinclude:_spf.createsend.com
- KitNone needed (ckespa CNAME)
- Marketoinclude:mktomail.com
- Account Engagement (Pardot)None needed (SPF passes automatically)
- Customer.ioCopy from Customer.io (cio##### subdomain)
- Constant ContactNone needed
- Zoho Campaignsinclude:zcsend.net
- Salesforceinclude:_spf.salesforce.com
- Zendeskinclude:mail.zendesk.com
- Freshdeskinclude:email.freshdesk.com
- IntercomNone needed
- Help ScoutNone needed (old value: helpscoutemail.com)
- Odooinclude:_spf.odoo.com
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