SPF include for Amazon SES — SPF, DKIM, DMARC setup
AWS publishes a single, obscure include for envelope-From SPF, and sets DKIM either by Easy DKIM CNAMEs or by manual key. The include in AWS's own doc is include:amazonses.com (actually a three-host chain in the reference for older accounts — their doc tells you what to use for yours). SES users who also send from Google Workspace tend to cross the 10-lookup boundary if they merge carelessly: amazonses.com chains a few.
Records Amazon SES, AWS SES needs
| Record | Value |
|---|---|
| SPF (TXT, host @) | v=spf1 include:<mail host include> include:amazonses.com ~all |
| DKIM (3 CNAMEs for Easy DKIM) | <CNAMEs from the SES console, Easy DKIM> |
| DMARC (TXT, host _dmarc) | v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com |
Replace the placeholder parts (such as yourdomain.com or a generated key) with your own values. DKIM keys and subdomain CNAMES are never copied from a web page — generate yours in your own provider's console.
Merging SPF when you send from more than one source
Only ONE SPF record may exist per domain. If mail goes out through more than one service, the record carries a single v=spf1, one include: per source, and one -all (or ~all) at the end:
v=spf1 include:provider-a.com include:provider-b.net ~all
Each include costs one lookup and nested includes cost more; over 10 lookups receivers return PermError and treat your mail as if SPF failed entirely.
The 10-lookup limit
SPF counts every include:, a, mx, ptr, exists: and redirect= against a limit of 10 DNS lookups — and nested includes count too. Amazon SES, AWS SES's include is one lookup, but every merge pushes you closer to the cap. Our free checker counts for you; our USD 24 report gives you a flattened record that stays under the limit.
Official documentation
All links go to the provider's own docs; values in the table are examples, not copies of their pages.
Run your domain through the free checker before changing anything, so you know which records you already have.
Want the exact records for your domain?
For USD 24 we look up every TXT, CNAME and MX record your domain serves, count your SPF lookups, probe DKIM selectors, and write the exact records to paste — one SPF record, no PermError, DMARC at p=none with reporting — plus a free re-check after you apply them.