Elastic Email SPF and DKIM setup
The SPF include, the api._domainkey DKIM TXT, and the optional tracking CNAME Elastic Email asks for, plus the custom bounce domain most people skip and the reason it is what makes your SPF align.
What you are setting up
Elastic Email is an SMTP relay and marketing-email platform, and it authenticates a sending domain with two TXT records: one SPF record that includes _spf.elasticemail.com, and one DKIM record at the api selector. Both are plain TXT records, not CNAME delegations, so you publish the actual public key in your zone. Elastic Email calls SPF mandatory and DKIM strongly encouraged; for DMARC you want both. Two more records are optional but matter: a tracking CNAME that brands rewritten links with your domain, and a custom bounce domain CNAME that moves the Return-Path onto your domain. The second one is the record that makes SPF align with your From address rather than merely pass.
Publish SPF and DKIM
In Elastic Email, go to Settings > Domains > Manage Domains, click Start Verification, and enter your domain. The verification screen lists each record with a Verify record button beside it. The shape is:
Type: TXT (SPF) Host: @ Value: v=spf1 a mx include:_spf.elasticemail.com ~all Type: TXT (DKIM) Host: api._domainkey Value: k=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB... (copy from Manage Domains) Type: CNAME (Tracking, optional) Host: tracking Value: api.elasticemail.com Type: CNAME (Custom bounce domain, optional but recommended) Host: bounces Value: bounces.elasticemail.net
If your domain already has an SPF record, do not add a second one. Elastic Email's own guidance is to add include:_spf.elasticemail.com to the existing record, because a zone with two SPF records fails SPF everywhere. The DKIM host is api._domainkey and the value is the key exactly as shown in your account, starting k=rsa;t=s;p=; copy it from the verification screen rather than from this page. For a subdomain such as mail.yourdomain.com, the hosts become mail and api._domainkey.mail. The custom bounce domain is set separately: on Manage Domains, open the three-dot menu for the domain, choose View details, and enter the bounce subdomain you created. Elastic Email requires it to be a subdomain, and if the zone is on Cloudflare the record must be DNS-only (click the cloud icon to turn the proxy off). Once each record verifies you get a green check mark; Elastic Email says to allow up to 48 hours for DNS to propagate, though most zones show green within minutes.
Add DMARC
Standard _dmarc TXT record, nothing Elastic Email-specific. Start in monitor-only mode and ramp up:
Type: TXT Host: _dmarc Value: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
Elastic Email's verification screen shows a DMARC row too and suggests going straight to p=quarantine or p=reject. Resist that on day one. A p=none record with a rua address is fully accepted by Gmail and Yahoo and gives you the reports you need to see what else sends as your domain. Build it with our DMARC builder and progress past p=none once your reports are clean.
The Elastic Email gotcha
Without a custom bounce domain, SPF does not align. By default Elastic Email puts the Return-Path on bounces.elasticemail.net. SPF passes for that domain, but DMARC compares the Return-Path domain with your From domain, and elasticemail.net is not yours. Your DMARC pass then leans entirely on the api DKIM signature, which is fine until a forwarder or a mailing list breaks the signature. Point bounces.yourdomain.com at bounces.elasticemail.net, enable it under View details, and bounces travel on a subdomain of yours, so SPF aligns under DMARC's default relaxed mode. Elastic Email notes that Google may report SPF as neutral on a custom bounce domain; check the Authentication-Results header on a test send after you turn it on.
The suggested SPF spends three lookups before you start. Elastic Email's copy-paste record is v=spf1 a mx include:_spf.elasticemail.com ~all. The a and mx mechanisms each cost a DNS lookup against the limit of ten, and most domains do not send mail from their web server or their MX hosts. If your record is already busy with Google or Microsoft plus a CRM, drop a and mx and keep only the include. Two smaller traps: Elastic Email will quietly send from your default verified sender domain if a campaign uses a From domain you have not verified, so an unverified brand domain shows up in DMARC reports as a different domain entirely; and the DKIM key carries the t=s flag, which tells receivers the signing domain must match exactly, so a subdomain that sends through Elastic Email needs its own api._domainkey record rather than borrowing the parent's.
Confirm it worked
- Check Manage Domains. SPF and DKIM should both show a green check mark, and Tracking too if you added it. A red mark on SPF usually means a second SPF record or a typo such as
_spf.elasticmail.com(missing the second e). - Send a test and read the headers. Send through Elastic Email, open the message, and confirm the DKIM signature shows
d=yourdomain.comwiths=api, the Return-Path is onbounces.yourdomain.comif you set the custom bounce domain, and the result isdmarc=pass. Our header analyzer reads it back plainly. - Watch the reports. Elastic Email should appear as an aligned, passing source on DKIM, and on SPF too once the bounce domain is in, in your DMARC aggregate reports, labeled as a known sender in trustyourinbox.
Connect your DNS once and we publish the Elastic Email records above in a single click, with a five-minute window to undo. Then we keep watching this sender in your DMARC reports and tell you the moment Elastic Email mail starts failing, so a typo in a record never quietly costs you the inbox.
Keep reading
SMTP2GO SPF and DKIM setup
Another SMTP relay with a bounce-domain CNAME that decides whether SPF aligns.
Counting SPF lookups
Why the a and mx mechanisms in Elastic Email's suggested record cost you lookups you may need elsewhere.
Email header analyzer
Paste an Elastic Email message's headers and see the api selector, the Return-Path domain, and the DMARC result.
Run a free DMARC audit
Paste your domain and see your published SPF, DKIM, and DMARC in plain English.
Last verified 2026-09-06 against the official Elastic Email documentation.
Was this page helpful?
Free for one domain. Set up in five minutes. We parse the reports; you read plain-English summaries.