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).
Your main domain on Microsoft 365 stays as it is
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:spf.protection.outlook.com -all
Optional: Microsoft 365 plus the envelope-from domain from the wizard
Type: TXT · Host: @
v=spf1 include:spf.protection.outlook.com include:ind.pb-dynmktga.com -all
ind.pb-dynmktga.com is the value in Microsoft's screenshot. Use the envelope-from value your own wizard shows.
How SPF applies to Dynamics 365 Customer Insights mail
Dynamics 365 Customer Insights sends with a bounce (MAIL FROM) address on a subdomain set up for it, and receivers check SPF on that subdomain. Your main domain's SPF record doesn't need to change for Dynamics 365 Customer Insights. Microsoft's optional extra is an include for the envelope-from domain the wizard shows, for the few receivers that check SPF against the From address.
- Microsoft's troubleshooting article says DNS records can take up to 24 hours to update, depending on the provider.
- If the domain already has a CNAME, so it can't hold a TXT record, Microsoft lets you prove ownership with a TXT record at
dynmktown.<your domain>instead. - New instances come with a pre-authenticated
dyn365mktg.comsending domain, which Microsoft says is only for testing.
How to add it
- In Customer Insights - Journeys, go to Settings, Email marketing, Domain authentication and select New.
- Enter the domain exactly as it appears in your From addresses (for
lamar.ferrari@contoso.com, that iscontoso.com) and choose email sending. - Add the records the wizard gives you in order: an ownership TXT record, two DKIM CNAMEs (CNAME1 and CNAME2), then the envelope-from CNAME for SPF.
- Select Verify. When each record has a green check mark and the status is Confirmed, the domain is ready.
- Only if a receiver bounces mail on SPF for the From domain, add the include for your envelope-from domain to your existing SPF record.
DKIM and DMARC alignment
The wizard's CNAME1 and CNAME2 are the DKIM records (Microsoft's example host is namkey1._domainkey); see our Dynamics 365 Customer Insights DKIM page. Messages from an unauthenticated domain fail the error check, so authenticate every domain you use in From addresses.
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.-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. - Authenticating
www.contoso.comwhen your addresses are@contoso.com. Microsoft treats them as different domains. - Copying the envelope-from include from Microsoft's screenshot instead of your own wizard.
- Using the built-in
dyn365mktg.comdomain for production mail.
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
Do I need an SPF include for Dynamics 365 Customer Insights - Journeys?
Not for standards-compliant receivers. The envelope-from CNAME in the domain authentication wizard covers SPF and alignment. Microsoft suggests adding include: with your envelope-from domain only to avoid bounces from providers that check SPF against the From address.
Where is domain authentication in Customer Insights - Journeys?
Under Settings, Email marketing, Domain authentication. Select New to start the wizard, which walks you through an ownership TXT record, two DKIM CNAMEs and the envelope-from CNAME, then select Verify.
Why does Customer Insights - Journeys change my From address?
If the From address uses a domain that isn't authenticated, Microsoft changes it to an authenticated domain registered for your instance, such as MyName@contoso.s01.dyn365mktg.com. Authenticate your own domain and set it as the default sending domain.
Sources
- Microsoft Learn: Authenticate your domains (Customer Insights - Journeys)
- Microsoft Learn: Fix domain authentication in Customer Insights - Journeys
- RFC 7208: Sender Policy Framework (SPF)
Values checked against Dynamics 365 Customer Insights'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
- iCloud Mailinclude:icloud.com
- 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)
- 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