
The Ultimate Guide to Amazon SES Setup with GoDaddy DNS
Got a project?
Let's discuss your project
Introduction
A Complete Zero-to-100% Implementation & Technical Deliverability Manual
Setting up Amazon Simple Email Service (SES) with GoDaddy as your domain registrar is one of the most cost-effective ways to deliver transactional and marketing emails at scale. However, misconfiguring your email authentication protocols such as DKIM, SPF, or DMARC can send your critical messages straight to spam folders or cause recipient servers to reject them entirely. This is exactly the kind of issue our AWS cloud security and compliance team helps production environments avoid.
This comprehensive guide provides an end-to-end operational walkthrough to set up AWS SES from scratch, extract the precise DNS records, avoid GoDaddy-specific formatting pitfalls, configure strict authentication protocols, and request exit from the AWS SES Sandbox into full production. For teams that prefer professional DevOps services to handle this setup, this walkthrough also serves as a reference for what the implementation involves.
"Note for Users on Other DNS Providers (Cloudflare, Namecheap, Route 53, DigitalOcean, etc.): While this guide highlights GoDaddy specifically, DNS record requirements for AWS SES are universal across all DNS management platforms. Regardless of whether your DNS is hosted on Cloudflare, Namecheap, AWS Route 53, Google Cloud DNS, or elsewhere, you will still create the exact same CNAME, MX, and TXT records for DKIM, SPF, and DMARC. The core principles, syntax, and verification steps in this guide apply 100% to your DNS provider as well."
Key Architectural Protocols & Prerequisites
Before configuring DNS records, it is critical to understand the four underlying protocols that secure your email domain and guarantee deliverability:
| Record Type | Protocol | Technical Purpose |
|---|---|---|
| CNAME | Easy DKIM | Provides asymmetric cryptographic signatures to verify that emails originated from your domain and were not tampered with in transit. |
| TXT | SPF | Specifies which mail servers (IP addresses/hosts) are explicitly authorized to send email on behalf of your domain. |
| TXT | DMARC | Dictates policy enforcement (None, Quarantine, Reject) to receiving inbox providers if SPF or DKIM validation fails. |
| MX & TXT | Custom MAIL FROM | Enables full SPF alignment between the technical envelope sender domain and the visual From: header domain. |
Step-by-Step Implementation Guide
Step 1: Create and Configure Domain Identity in AWS SES
1. Log in to the AWS Management Console and search for Amazon Simple Email Service (SES).

2. In the left navigation sidebar under Configuration, select Identities.

3. Click Create identity.

4. Select Domain as the Identity type.
5. Enter your root domain name (e.g., yourdomain.com).
6. Check Custom MAIL FROM domain (Highly Recommended):
Let's Build Something Great Together
Ready to transform your idea into a powerful software solution? Talk to our experts and get a free consultation.
Contact Us- Check Use a custom MAIL FROM domain.
- Enter a dedicated subdomain prefix such as mail or bounce (e.g., mail.yourdomain.com).
- Under Behavior on MX failure, choose Reject message to enforce strict alignment.
- Uncheck publish DNS records to Route53
7. Expand Advanced DKIM settings:
- Select Easy DKIM.
- Choose RSA_2048_BIT for the DKIM signing key length (recommended for widespread mail client compatibility).
- Uncheck publish DNS records to Route53
- Keep DKIM signatures Enabled.
8. Click Create identity at the bottom of the page.


Step 2: Retrieve the Generated DNS Records from AWS
Once created, open the Get set up page from the left menu in AWS SES and click Get DNS Records button. You will be presented with the following required DNS records:


- 3 CNAME Records for Easy DKIM (e.g., [token1]._domainkey.yourdomain.com pointing to [token1].dkim.amazonses.com).
- 1 MX Record for Custom MAIL FROM (e.g., mail.yourdomain.com pointing to feedback-smtp.[region].amazonses.com with priority 10).
- 1 TXT Record for Custom MAIL FROM SPF (e.g., mail.yourdomain.com with value "v=spf1 include:amazonses.com ~all").
- 1 TXT Record DMARC (e.g., _dmarc.yourdomain.com with value "v=DMARC1; p=none;").
Step 3: Add DNS Records in GoDaddy DNS Management
"CRITICAL GODADDY PITFALL: AUTOMATIC DOMAIN APPENDING GoDaddy automatically appends your root domain (.yourdomain.com) to whatever string you type in the 'Name' or 'Host' field. If AWS gives you a host name like token1._domainkey.yourdomain.com, you must enter ONLY token1._domainkey into GoDaddy. Pasting the full domain results in token1._domainkey.yourdomain.com.yourdomain.com, causing verification to fail permanently."
Navigate to your GoDaddy Domain Portfolio, click your domain, select DNS, and add the following 6 records:
| Type | Name / Host (GoDaddy) | Value / Target | Priority | TTL |
|---|---|---|---|---|
| CNAME | [token1]._domainkey | [token1].dkim.amazonses.com | - | 1 Hour |
| CNAME | [token2]._domainkey | [token2].dkim.amazonses.com | - | 1 Hour |
| CNAME | [token3]._domainkey | [token3].dkim.amazonses.com | - | 1 Hour |
| MX | feedback-smtp.[region].amazonses.com | 10 | 1 Hour | |
| TXT | v=spf1 include:amazonses.com ~all | - | 1 Hour | |
| TXT | _dmarc | v=DMARC1; p=none; | - | 1 Hour |
Step 4: Verify Propagation and AWS Identity Status
DNS changes typically propagate within 15 minutes, though GoDaddy can occasionally take up to a few hours. Return to the AWS SES Console and confirm:
- Identity status: Verified (Green badge)
- DKIM status: Successful
- MAIL FROM status: Successful

Step 5: Request Production Access (Exiting the SES Sandbox)
All new AWS SES accounts are placed in the SES Sandbox to prevent abuse. In Sandbox mode, you can only send emails to verified recipient addresses, and daily limits are restricted to 200 messages per 24 hours.
To move into Production:
- In AWS SES Console, navigate to Get Set up page.
- Click Request production access.
- Select your Mail Type (Transactional vs. Marketing).
- Enter your active website URL.
- Provide a detailed Use Case Description explaining how you collect opt-ins, handle bounce/complaint notifications, and process unsubscribes.
- Submit the request (AWS review typically takes 24–48 hours).

Deliverability & Anti-Spam Technical Checklist
| Technical Metric | Best Practice Requirement | Risk / Common Failure |
|---|---|---|
| DKIM Host Formatting | Strip root domain suffix in GoDaddy | Duplicated hostname renders DKIM records unresolvable. |
| SPF Record Limit | Maximum of 1 SPF TXT record per subdomain | Multiple SPF records on one domain fail SPF validation outright. |
| DMARC Enforcement | Start with p=none, progress to p=quarantine | Prematurely setting p=reject can drop legitimate messages during setup. |
| MAIL FROM Alignment | Use dedicated subdomain (mail.domain.com) | Prevents soft-fail warnings in Gmail/Outlook for sender mismatch. |
| Bounce Rate Threshold | Keep bounce rate strictly under 5% | Rates exceeding 5% cause immediate AWS SES sending suspension. |
DNS Verification via Command Line (Terminal / CMD)
You can verify that your DNS records have successfully propagated using the dig command line tool before checking AWS:
# 1. Verify DKIM CNAME Record propagationdig CNAME token1._domainkey.yourdomain.com +short# 2. Verify Custom MAIL FROM SPF Recorddig TXT mail.yourdomain.com +short# 3. Verify DMARC TXT Recorddig TXT _dmarc.yourdomain.com +short

How to Add LiveKit Video Calling to a Next.js App
Add embedded video & audio calling to Next.js with LiveKit Cloud. Compared vs Twilio, Daily, Agora, Zoom — plus token auth, guests & recording.
Read More
We chose ECS over EKS: what we gained and what we gave up
An honest comparison of ECS vs EKS the costs, tradeoffs, and real-world reasoning behind choosing ECS for a production platform on AWS.
Read More
Upgrading Legacy Systems: From Outdated Technology to Competitive Advantage
Learn how to upgrade legacy systems through application modernization, API integration, cloud migration, security improvements, and incremental system upgrades without disrupting business operations.
Read More
Building Distributed Tracing and Observability with AWS X-Ray
A practical guide to correlating requests across a multi-tier application using correlation IDs, AWS X-Ray segments, and structured logging for faster incident debugging.
Read More
Designing Before and After AI: What Really Changed
A look at how AI has transformed UI/UX design from manual wireframes and slow research to AI-assisted prototyping, design-to-code, and personalization at scale.
Read More
Beyond Prompting: Managing Context and Tokens in AI Coding Tools
Ever wondered why your AI coding agent starts losing context or hits a hard limit mid-task? The answer lies in tokens and the context window. Good AI coding is not about giving the model the most information. It is about giving it the right information at the right time.
Read More
What Is llms.txt? How It Helps Google, AI Search, and Agentic Browsing Find Your Website
Learn what llms.txt is, how it differs from sitemap.xml and robots.txt, and how it can help your site get found by Google, AI search tools, and AI agents.
Read More
Build an Automated Image Compression Script with Sharp and SVGO
Compress images from the terminal with a Node.js script powered by Sharp and SVGO a safe, two-step workflow that keeps your site fast without bloating your repo.
Read More
The Right Way to Migrate from MySQL to AWS Aurora DSQL
Migrating a production database is one of the highest-risk changes you can make to an application. Moving from MySQL to AWS Aurora DSQL raises the stakes further...
Read More