The Developer's Guide: Configuring AWS SES for Bulk Email

January 16, 2026 (6mo ago) ยท 2 min read

Originally published on LinkedIn, 16 January 2026. Republished here with light editing.

This guide walks you through setting up a professional email sending infrastructure using Amazon SES (Simple Email Service) and Cloudflare. By the end of this tutorial, you will have a low-cost, high-deliverability system capable of sending newsletters using your own domain.

๐Ÿ“‹ Prerequisites#

  • An AWS Account.
  • A domain name managed on Cloudflare (we will use yourdomain.com as the example).
  • Basic familiarity with DNS records.

Phase 1: Create Identity & DKIM Setup#

To send emails as [email protected], you must prove to AWS that you own the domain.

  1. Navigate to AWS SES:
  2. Create Identity:

Phase 2: DNS Configuration (Cloudflare)#

AWS will now provide you with CNAME records. These are the "handshake" that proves ownership and sets up DKIM (email signatures).

  1. Get the Records:
  2. Add to Cloudflare:
  3. Add DMARC (Optional but Recommended):

Verification typically takes a few minutes, but can take up to 72 hours.


Phase 3: Configure Custom MAIL FROM Domain#

By default, emails come from amazonses.com. To improve deliverability and look professional (e.g., mail.yourdomain.com), set up a custom MAIL FROM.

  1. In AWS SES:
  2. Update Cloudflare DNS:
  3. Wait for Verification:

Phase 4: Get SMTP Credentials#

To use tools like Listmonk, WordPress, or custom scripts, you need SMTP credentials (username/password), not your standard AWS login.

  1. Generate Credentials:
  2. Save Them Immediately:

Phase 5: Exiting the "Sandbox" (Production Access)#

All new SES accounts start in "Sandbox Mode".

  • Restriction: You can only send 200 emails/day, and only to verified email addresses (your own).
  • Goal: Move to Production to send to anyone.
  1. Request Production Access:
  2. Fill the Form (Best Practices):
  3. Wait for Review: usually takes 24 hours.

Phase 6: Using Your Setup (Example: Listmonk)#

Now that the infrastructure is ready, you can plug these details into any mailing software.

Example Configuration:

  • SMTP Host: email-smtp.ap-southeast-2.amazonaws.com
  • Port: 587
  • Username: [Your SMTP Username from Phase 4]
  • Password: [Your SMTP Password from Phase 4]
  • Encryption: TLS or STARTTLS

๐Ÿ’ฐ Cost Analysis (Free Tier)#

AWS SES is highly cost-effective for developers:

  • First 3,000 messages/month: Free (for the first 12 months).
  • Thereafter: ~$0.10 per 1,000 emails.
  • Data Transfer: Standard EC2 rates apply (negligible for text emails).

Your professional email infrastructure is now ready!