Amazon SES setup with GoDaddy DNS

The Ultimate Guide to Amazon SES Setup with GoDaddy DNS

Cloud/Devops
August 18, 2026
8-10 min

Share blog

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 TypeProtocolTechnical Purpose
CNAMEEasy DKIMProvides asymmetric cryptographic signatures to verify that emails originated from your domain and were not tampered with in transit.
TXTSPFSpecifies which mail servers (IP addresses/hosts) are explicitly authorized to send email on behalf of your domain.
TXTDMARCDictates policy enforcement (None, Quarantine, Reject) to receiving inbox providers if SPF or DKIM validation fails.
MX & TXTCustom MAIL FROMEnables 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).

AWS Management Console search for Amazon Simple Email Service SES setup

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

AWS SES console left navigation sidebar selecting Identities configuration

3. Click Create identity.

AWS SES Create identity button for domain email setup

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.

AWS SES domain identity configuration with custom MAIL FROM and DKIM settings
AWS SES Easy DKIM signing key length RSA 2048 bit configuration

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:

AWS SES Get DNS Records page showing DKIM SPF and DMARC records
AWS SES generated CNAME MX and TXT DNS records for email authentication
  • 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:

TypeName / Host (GoDaddy)Value / TargetPriorityTTL
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
MXmailfeedback-smtp.[region].amazonses.com101 Hour
TXTmailv=spf1 include:amazonses.com ~all-1 Hour
TXT_dmarcv=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
AWS SES verified domain identity status with DKIM and MAIL FROM 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).
AWS SES request production access form to exit sandbox for transactional emails

Deliverability & Anti-Spam Technical Checklist

Technical MetricBest Practice RequirementRisk / Common Failure
DKIM Host FormattingStrip root domain suffix in GoDaddyDuplicated hostname renders DKIM records unresolvable.
SPF Record LimitMaximum of 1 SPF TXT record per subdomainMultiple SPF records on one domain fail SPF validation outright.
DMARC EnforcementStart with p=none, progress to p=quarantinePrematurely setting p=reject can drop legitimate messages during setup.
MAIL FROM AlignmentUse dedicated subdomain (mail.domain.com)Prevents soft-fail warnings in Gmail/Outlook for sender mismatch.
Bounce Rate ThresholdKeep 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:

bash
# 1. Verify DKIM CNAME Record propagation
dig CNAME token1._domainkey.yourdomain.com +short
# 2. Verify Custom MAIL FROM SPF Record
dig TXT mail.yourdomain.com +short
# 3. Verify DMARC TXT Record
dig TXT _dmarc.yourdomain.com +short

Blogs

Discover the latest insights and trends in technology with the Omax Tech Blog.

View All Blogs
Omax | Blog | How to Add LiveKit Video Calling to a Next.js App
12-14 min
September 11, 2026

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
Omax | Blog | We chose ECS over EKS: what we gained and what we gave up
8-10 min
September 10, 2026

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
Omax | Blog | Upgrading Legacy Systems: From Outdated Technology to Competitive Advantage
8-10 min
September 07, 2026

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
Omax | Blog | Building Distributed Tracing and Observability with AWS X-Ray
12-14 min
September 04, 2026

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
Omax | Blog | Designing Before and After AI: What Really Changed
6-7 min
September 03, 2026

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
Omax | Blog | Beyond Prompting: Managing Context and Tokens in AI Coding Tools
12-14 min
September 03, 2026

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
Omax | Blog | What Is llms.txt? How It Helps Google, AI Search, and Agentic Browsing Find Your Website
10-12 min
August 31, 2026

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
Omax | Blog | Build an Automated Image Compression Script with Sharp and SVGO
7-8 min
August 28, 2026

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
Omax | Blog | The Right Way to Migrate from MySQL to AWS Aurora DSQL
7-8 min
August 25, 2026

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