Tutorial

How to Set Up AWS SES for Cold Email: A Step-by-Step Guide (2026)

LeadSnipper Team13 min read

Amazon SES (Simple Email Service) costs $0.10 per 1,000 emails and gives you full control over your sending reputation. For cold email senders, it's the most cost-effective and reliable way to own your infrastructure. This guide walks you through setting up AWS SES from scratch — account creation to production sending — even if you've never touched AWS before.

What you'll have at the end of this guide:

  • An AWS account with SES enabled
  • A verified domain with DKIM and SPF configured
  • SES moved out of sandbox mode (production sending enabled)
  • SES connected to LeadSnipper (or your cold email platform of choice)
  • Sending reputation that you fully own and control

Step 1: Create an AWS Account

If you don't have an AWS account, go to aws.amazon.com and sign up. You'll need:

  • An email address (use your business email, not personal)
  • A credit card for billing (SES charges are minimal)
  • Phone number for verification

AWS offers a free tier that includes 62,000 outbound emails per month if you're sending from an EC2 instance, or $0.10 per 1,000 emails otherwise. For most cold email campaigns, your monthly SES bill will be under $5.

Step 2: Navigate to Amazon SES

Once logged into the AWS Console:

  1. 1. Search for "SES" in the top search bar
  2. 2. Click "Amazon Simple Email Service"
  3. 3. Choose your preferred region (us-east-1 is most common for North American audiences)

Region matters: Choose a region close to your recipients for lower latency. us-east-1 (N. Virginia) is the most common. eu-west-1 (Ireland) works well for European audiences. ap-south-1 (Mumbai) for Indian audiences. You can set up multiple regions later.

Step 3: Verify Your Domain

In the SES console, go to Configuration → Verified identities → Create identity. Choose "Domain" and enter your sending domain (e.g., yourdomain.com).

SES will provide DNS records you need to add:

DKIM Records (3 CNAME records)

SES generates three CNAME records for DKIM (DomainKeys Identified Mail). These add a cryptographic signature to your emails proving they're legitimate.

Copy all three CNAME records exactly as shown in the SES console. Add them to your DNS provider (GoDaddy, Cloudflare, Namecheap, Route 53, etc.). Verification usually takes 15-60 minutes.

SPF Record (TXT record)

Add an SPF record to tell mailbox providers that SES is authorized to send on behalf of your domain.

v=spf1 include:amazonses.com ~all

If you already have an SPF record, add include:amazonses.com to the existing record rather than creating a new one. You can only have one SPF TXT record per domain.

DMARC Record (TXT record)

Add a DMARC record to tell mailbox providers what to do when authentication fails.

v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; pct=100

Start with p=none (monitoring). After 2-4 weeks of clean data, move to p=quarantine, then p=reject.

Step 4: Exit the SES Sandbox

By default, new SES accounts are in "sandbox mode" — you can only send to verified email addresses. To send cold email to anyone, you need to request production access.

How to request production access:

  1. 1. In SES console, go to Account dashboard
  2. 2. Click "Request production access"
  3. 3. Fill out the form. Key things AWS wants to know:
    • Mail type: Choose "Transactional" or "Marketing" based on your use case
    • Website URL: Your company's website
    • Use case description: Explain that you send B2B outreach emails, maintain clean lists, use email verification, and honor unsubscribes
    • Expected sending volume: Be honest — start with a conservative estimate
    • Bounce/complaint handling: Explain that you have automatic suppression for bounces and complaints

AWS typically reviews production access requests within 24-48 hours. Approval isn't guaranteed — AWS is strict about who they let send at scale. Be professional, detailed, and honest in your request. Once approved, you'll start with a daily sending quota (usually 50,000 emails/day) that increases as you build reputation.

Step 5: Create SMTP Credentials

To connect SES to LeadSnipper (or any cold email tool), you need SMTP credentials:

  1. 1. In SES console, go to SMTP settings
  2. 2. Note the SMTP endpoint (e.g., email-smtp.us-east-1.amazonaws.com)
  3. 3. Click "Create SMTP credentials"
  4. 4. An IAM user is created. Download the credentials immediately — they're only shown once
  5. 5. You'll get an SMTP username and password — save these securely

Alternatively, you can create API credentials (access key + secret key) in IAM if your cold email tool uses the SES API instead of SMTP. LeadSnipper supports both connection methods.

Step 6: Connect SES to LeadSnipper

With your SES account set up and credentials ready, connecting to LeadSnipper takes about 2 minutes:

  1. 1. Log into LeadSnipper → go to Settings → Sending Infrastructure
  2. 2. Choose "BYO SES" mode
  3. 3. Enter your SES region, SMTP endpoint, and credentials
  4. 4. LeadSnipper validates the connection and confirms your sending domain matches
  5. 5. Your domain appears in the domain health dashboard with real-time monitoring

Once connected, LeadSnipper handles campaign sending, warmup, and analytics on top of your SES infrastructure. You own the sending layer; LeadSnipper provides the campaign management layer.

Step 7: Configure Bounce and Complaint Handling

AWS SES requires you to handle bounces and complaints properly. If you ignore them, SES will suspend your account.

  • Set up SNS notifications — configure Amazon SNS (Simple Notification Service) topics for bounces and complaints. LeadSnipper automatically subscribes to these when you connect BYO SES.
  • Automatic suppression — when a bounce or complaint occurs, the email address should be automatically added to a suppression list so you never send to it again.
  • Monitor thresholds — AWS SES puts you on probation if your bounce rate exceeds 5% or complaint rate exceeds 0.1%. Keep well below these.

Optional: Set Up Dedicated IPs

By default, SES sends from a pool of shared IPs managed by Amazon. For high-volume senders (50,000+ emails/month), dedicated IPs give you complete reputation isolation:

  • Cost: $24.95/month per dedicated IP
  • Best for: Senders doing 50,000+ emails/month who want total reputation isolation
  • Important: Dedicated IPs need warmup too. Start slow and gradually increase volume on the new IP.

For most cold email senders doing 5,000-30,000 emails/month, Amazon's default shared pool is fine. AWS manages these IPs aggressively, and they have much better reputation than the shared pools used by cold email platforms.

AWS SES Costs: What You'll Actually Pay

  • Email sending: $0.10 per 1,000 emails
  • 5,000 emails/month: ~$0.50
  • 15,000 emails/month: ~$1.50
  • 50,000 emails/month: ~$5.00
  • Dedicated IP (optional): $24.95/month per IP
  • Data transfer: Negligible for email (pennies)

Compare this to Instantly at $37-97/month or Smartlead at $39-94/month — all on shared infrastructure. With LeadSnipper Business (₹999/month, ~$12) plus AWS SES, you get dedicated infrastructure at a fraction of the cost.

Bottom Line

Setting up AWS SES for cold email takes about 30-60 minutes, plus 24-48 hours waiting for production access approval. Once it's done, you own your sending infrastructure permanently. No more shared IPs, no more depending on a platform's infrastructure health, no more overpaying for email delivery.

If you want to skip the AWS complexity, LeadSnipper also offers Managed mode — we set up and manage the infrastructure for you. Either way, you get dedicated sending that's isolated from everyone else. Start your free trial and choose the mode that fits your comfort level.