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).
IONOS Mail, US account (ionos.com)
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:_spf-us.ionos.com ~all
IONOS Mail, UK or EU account (ionos.co.uk)
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:_spf-eu.ionos.com ~all
IONOS Mail (US) and Brevo for newsletters
Type: TXT · Host: @ · 2 of 10 DNS lookups
v=spf1 include:_spf-us.ionos.com include:spf.brevo.com ~all
How SPF applies to IONOS mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). IONOS sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- IONOS says that if an SPF TXT record for another email service already exists, IONOS adds its own mail server information to that record automatically. Check the result rather than adding a second record.
- On 3 November 2026,
_spf-us.ionos.comand_spf-eu.ionos.comeach listed only IP ranges, so neither nests further lookups. - The included records end in
?all, but that doesn't weaken yours: SPF uses theallof your own record for servers that match none of your includes.
How to add it
- If IONOS hosts your DNS, you usually need nothing: IONOS says its SPF is enabled by default for IONOS-hosted domains.
- If the record is missing (IONOS mentions trouble sending to Gmail as a sign), open the domain's DNS settings in IONOS, click Add Record, select IONOS SPF (TXT) and save.
- If another company hosts your DNS, create a TXT record on
@there with the value from your IONOS help center, or add the include to thev=spf1record you already have. - IONOS says changes can take up to 48 hours to propagate. Then check the live record with the SPF Checker below.
DKIM and DMARC alignment
DKIM is on by default for IONOS-hosted DNS. With outside DNS, IONOS asks for three CNAME records: s1-ionos._domainkey to s1.dkim.ionos.com, s2-ionos._domainkey to s2.dkim.ionos.com and s42582890._domainkey to s42582890.dkim.ionos.com. With SPF and DKIM in place, add a DMARC record; IONOS's articles don't give a DMARC value.
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). IONOS's include costs 1 on its own. See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. IONOS'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. - Copying the EU include from a UK guide into a US account, or the other way round. Use the value your own IONOS help center gives.
- Editing or deleting the IONOS SPF record without checking what it covers. IONOS warns this can affect sending.
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 IONOS filled in.
Frequently asked questions
What is the IONOS SPF record for a domain on outside DNS?
IONOS's US help gives v=spf1 include:_spf-us.ionos.com ~all and its UK help gives v=spf1 include:_spf-eu.ionos.com ~all, as a TXT record on your domain. If an SPF record already exists, add the include to it instead.
Should I use _spf-us.ionos.com or _spf-eu.ionos.com?
Use the one your IONOS help center shows: ionos.com documents _spf-us.ionos.com and ionos.co.uk documents _spf-eu.ionos.com. Each costs one DNS lookup, so a domain that is unsure can't break the 10-lookup limit by choosing either.
Why are IONOS mails to Gmail rejected even though I use IONOS DNS?
IONOS names a missing SPF record as a likely cause. Open the domain's DNS settings, click Add Record, choose IONOS SPF (TXT) and save, then allow up to 48 hours. Then check that IONOS's three DKIM CNAMEs are in place as well.
Sources
- IONOS Help (US): Using IONOS SPF to improve email delivery
- IONOS Help (UK): Using IONOS SPF to improve email delivery
- IONOS Help: Email authentication with DKIM
- RFC 7208: Sender Policy Framework (SPF)
Values checked against IONOS's documentation on November 3, 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
- iCloud Mailinclude:icloud.com
- Rackspace Emailinclude:emailsrvr.com
- Hostingerinclude:_spf.mail.hostinger.com
- Private Emailinclude:spf.privateemail.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