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).
MailerLite only
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:_spf.mlsend.com ~all
MailerLite and Microsoft 365 (MailerLite's merge example)
Type: TXT · Host: @ · 4 of 10 DNS lookups
v=spf1 a mx include:spf.protection.outlook.com include:_spf.mlsend.com ~all
MailerLite's example keeps the a and mx mechanisms. Drop them if your web server and inbound mail servers don't send mail as your domain.
MailerLite and Google Workspace
Type: TXT · Host: @ · 2 of 10 DNS lookups
v=spf1 include:_spf.google.com include:_spf.mlsend.com ~all
How SPF applies to MailerLite mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). MailerLite sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- MailerLite's troubleshooting article also shows the record as
v=spf1 a mx include:_spf.mlsend.com ?all. Whatever qualifier you pick, a merged record ends with a singleall. - MailerLite says propagation usually finishes within 24 hours and can take up to 72. Authentication is required to send from a custom domain once the 14-day trial ends.
- MailerLite points out that SPF values are case-sensitive and that one TXT string holds at most 255 characters.
How to add it
- In MailerLite, go to Account settings, open the Domains tab and click + Add sending domain. Enter the sending address and click Save.
- Choose automatic setup if MailerLite offers it for your DNS provider, or Authenticate manually to copy the records yourself.
- At the company that actually hosts your DNS, add the three records MailerLite shows: the DKIM CNAME, the SPF TXT record and a verification TXT record.
- If a TXT record starting with
v=spf1already exists on that host, addinclude:_spf.mlsend.comto it rather than creating a second one. - Back in MailerLite, click the … button next to the domain and choose Check DNS records. The status moves from Authentication in process to Authenticated.
DKIM and DMARC alignment
MailerLite's DKIM record is a CNAME named litesrv._domainkey that points to litesrv._domainkey.mlsend.com (see our MailerLite DKIM page). That DKIM signature is what lets MailerLite campaigns pass DMARC for your domain, so publish a DMARC record once both records verify.
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). MailerLite's include costs 1 on its own. See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. MailerLite'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. - Two SPF records after adding MailerLite's value next to an existing one. MailerLite says you can only have one SPF record in your DNS zone; merge them.
- Adding the records at your registrar when another company (a web host or Cloudflare, for example) runs your DNS. MailerLite sees no change until they are in the right zone.
- Copying the value with different capitals or missing characters. MailerLite compares it exactly and suggests a text-compare tool to spot the difference.
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 MailerLite filled in.
Frequently asked questions
What is the SPF include for MailerLite?
include:_spf.mlsend.com. MailerLite's example record is v=spf1 a mx include:_spf.mlsend.com ~all. If your domain already has an SPF record, add the include to it on the same line.
How do I merge MailerLite into an existing SPF record?
Keep one record that starts with v=spf1, list each mechanism once, add include:_spf.mlsend.com next to the other includes and end with a single all. MailerLite's merged example with Microsoft 365 is v=spf1 a mx include:spf.protection.outlook.com include:_spf.mlsend.com ~all.
Why does MailerLite still show my domain as not authenticated?
Usually the records went to a DNS zone that isn't live, the SPF value differs slightly from MailerLite's, or DNS hasn't updated yet. MailerLite says checks usually pass within 24 hours and can take up to 72. Use Check DNS records again after fixing it.
Sources
- MailerLite Help: Domain authentication
- MailerLite Help: How to merge SPF records
- MailerLite Help: Troubleshooting domain authentication
- RFC 7208: Sender Policy Framework (SPF)
Values checked against MailerLite'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
- 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)
- 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