Amazon SES (Simple Email Service) Ultimate Cheat Sheet

Introduction to Amazon SES

Amazon Simple Email Service (SES) is a cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. It eliminates the complexity of maintaining email servers by providing a reliable, scalable infrastructure that can handle anything from small batches to high-volume email campaigns. SES offers robust deliverability features, detailed analytics, and cost-effective pricing, making it ideal for businesses of all sizes looking to improve email communication with their customers.

Core SES Concepts

Service Components

ComponentDescriptionUse Case
SMTP InterfaceStandard protocol accessApplications requiring SMTP integration
API InterfaceRESTful and SDK accessCustom applications and automation
Email ReceivingIncoming email processingAuto-responders, ticketing systems
Deliverability ManagementReputation and compliance toolsMaintaining high inbox placement
Event PublishingEmail activity trackingAnalytics and workflow automation

Email Types Supported

  • Transactional emails: Order confirmations, password resets, receipts
  • Marketing emails: Newsletters, promotions, announcements
  • Notification emails: System alerts, updates, reminders
  • Automated emails: Triggered by user behavior or system events

Step-by-Step Implementation Process

1. Account Setup & Verification

  • Getting out of the sandbox:
    • Verify domain ownership via DNS records
    • Request production access through AWS console
    • Demonstrate compliance with AWS acceptable use policy
    • Set up appropriate authentication mechanisms
  • Verification options:
    • Domain verification (preferred for production)
    • Email address verification (quick for testing)
    • DKIM authentication (improves deliverability)
    • SPF authentication (helps prevent spoofing)

2. Configuration & Authentication

  • DNS configuration checklist:
    • DKIM records (mandatory for good deliverability)
    • SPF records (recommended but optional)
    • Custom MAIL FROM domain (improves authentication)
    • MX records (required for email receiving)
    • TXT records (for domain verification)
  • Essential SMTP settings:
    • SMTP endpoint: email-smtp.{region}.amazonaws.com
    • TLS required: Yes (Port 587 or 2587)
    • Authentication: IAM credentials converted to SMTP credentials
    • Connection limits: Monitor rate limits by AWS region

3. Integration Methods

  • SDK implementation:
    • AWS SDK for various languages (Java, Python, Node.js, etc.)
    • Code examples:
       
      python
      import boto3
      
      client = boto3.client('ses')
      response = client.send_email(
          Source='sender@example.com',
          Destination={
              'ToAddresses': ['recipient@example.com']
          },
          Message={
              'Subject': {'Data': 'Test Subject'},
              'Body': {
                  'Text': {'Data': 'Test Body'},
                  'Html': {'Data': '<h1>HTML Body</h1>'}
              }
          }
      )
  • SMTP integration:
    • Generate SMTP credentials from IAM credentials
    • Configure SMTP settings in your application
    • Implement appropriate error handling for bounces and complaints

4. Content Creation & Management

  • Email template creation:
    • HTML/CSS templates with responsive design
    • Personalization using substitution tags
    • Template storage and versioning within SES
    • Dynamic content based on recipient attributes
  • Maintaining compliance:
    • Include physical mailing address (CAN-SPAM requirement)
    • Provide clear unsubscribe mechanism
    • Accurate sender information
    • Avoid deceptive subject lines and content

5. Monitoring & Analytics

  • Key metrics to track:
    • Delivery rate (sent vs. delivered)
    • Bounce rate (hard vs. soft bounces)
    • Complaint rate (<0.1% recommended)
    • Open and click rates
    • Blacklist appearances
  • Notification configuration:
    • SNS topics for bounces and complaints
    • CloudWatch metrics for service health
    • Event publishing to S3 for long-term analysis
    • Lambda triggers for automated actions

SES Service Limits & Quotas

Sending Limits

EnvironmentDaily Sending QuotaSend Rate
Sandbox200 emails/24hrs1 email/second
Production (Initial)50,000 emails/24hrs14 emails/second
Production (Increased)By requestBy request

Other Important Limits

  • Maximum message size: 40 MB (including attachments)
  • Recipients per message: 50 (can be increased)
  • Maximum attachment size: ~10 MB
  • Custom verification email templates: 50
  • Email templates: 20,000 per region
  • Configuration sets: 10,000 per region
  • IP pools: 50 per region

Advanced SES Features

Dedicated IP Addresses

  • Use cases:
    • High-volume senders (>100k emails/month)
    • Reputation-sensitive communications
    • Regulatory compliance requirements
    • Separation of different email types
  • Management options:
    • Standard dedicated IPs (static assignment)
    • Dedicated IP pools (grouped by purpose)
    • Automatic IP warm-up
    • Manual IP warm-up schedule

Email Receiving

  • Implementation steps:
    • Configure MX records pointing to SES
    • Create receipt rules and rule sets
    • Define actions (S3, SNS, Lambda, etc.)
    • Set up spam/virus filtering
  • Common receiving actions:
    • Store messages in S3
    • Trigger Lambda for processing
    • Forward to another email address
    • Send notifications via SNS
    • Invoke custom processing workflows

Event Publishing

  • Available destinations:
    • Kinesis Data Firehose
    • Amazon SNS
    • Amazon CloudWatch
    • Amazon S3 buckets
  • Trackable event types:
    • Send
    • Delivery
    • Open
    • Click
    • Bounce
    • Complaint
    • Rejection
    • Rendering Failure

Configuration Sets

  • Purpose: Group settings and event destinations
  • Components:
    • Event destinations
    • IP pools
    • Reputation metrics
    • VDM (Virtual Deliverability Manager) settings
    • Custom MAIL FROM domains

Common SES Challenges & Solutions

ChallengeSolution
High bounce ratesImplement list cleaning; gradually warm up; verify addresses before sending
Spam folder placementImprove authentication (DKIM, SPF); maintain clean IP reputation; improve content quality
Throttling/rate limitsImplement exponential backoff; request quota increases; use multiple regions
BlacklistingMonitor blacklists; implement feedback loops; strict bounce management
Content filteringTest with email testing tools; avoid spam trigger words; balance text-to-image ratio
GDPR complianceImplement double opt-in; document consent; provide clear unsubscribe mechanisms
Deliverability to major providersAuthenticate properly; maintain engagement metrics; follow provider guidelines
Cost managementMonitor usage patterns; implement tagging; separate test and production environments

Best Practices & Pro Tips

Deliverability Optimization

  • Implement double opt-in for subscriber acquisition
  • Segment lists based on engagement and preferences
  • Regularly clean your email lists (remove hard bounces)
  • Maintain a bounce rate below 2% and complaint rate below 0.1%
  • Use consistent sending patterns (avoid sudden volume spikes)
  • Gradually warm up new sending domains and IPs
  • Implement DMARC policy for enhanced security

Technical Implementation

  • Use configuration sets to separate different email types
  • Implement proper error handling for bounces and complaints
  • Set up automatic suppression list management
  • Leverage template versioning for systematic testing
  • Use custom MAIL FROM domain for all production sending
  • Implement proper MIME type handling for attachments
  • Consider multi-region deployment for redundancy

Content Optimization

  • Design for mobile-first experience
  • Keep HTML code clean and properly formatted
  • Optimize images with ALT tags and appropriate sizing
  • Balance text-to-image ratio (60:40 recommended)
  • Implement preview text effectively
  • Use semantic HTML for better accessibility
  • Test rendering across multiple email clients

Cost Optimization

  • Utilize SES pricing tier discounts for high volume
  • Implement message deduplication when appropriate
  • Use message tags for cost allocation
  • Consider dedicated IPs only when volume justifies cost
  • Optimize attachment handling to reduce size
  • Leverage CloudWatch metrics for usage monitoring
  • Consider EC2 deployment in same region to avoid data transfer costs

Integration with AWS Services

Serverless Email Processing

  • Lambda + SES:
    • Trigger Lambda functions on email receipt
    • Process and respond to emails automatically
    • Implement custom logic for email content
    • Connect to other AWS services
  • Example architecture:
     
    Incoming Email → SES Receipt Rules → S3 Bucket → Lambda Trigger → 
    Process Content → DynamoDB (store data) → SES (send response)

Analytics Pipeline

  • SES + Kinesis + Analytics:
    • Stream email events to Kinesis
    • Process with Analytics or Lambda
    • Store in S3 or DynamoDB
    • Visualize with QuickSight
  • Example architecture:
     
    SES Events → Kinesis Firehose → S3 → Athena (query) → 
    QuickSight (visualization) → Business Insights

Compliance & Security

  • SES + KMS + CloudTrail:
    • Encrypt sensitive email content
    • Track all API calls and configuration changes
    • Implement compliance controls
    • Set up alerting for suspicious activity

Resources for Further Learning

AWS Documentation & Tools

Email Testing Tools

  • Litmus (rendering testing)
  • Email on Acid (spam testing)
  • GlockApps (deliverability testing)
  • Mail-Tester (content analysis)

Deliverability Resources

  • Return Path Sender Score
  • Google Postmaster Tools
  • Microsoft SNDS (Smart Network Data Services)
  • MXToolbox (blacklist monitoring)

Community & Learning

  • AWS re
     
    sessions on SES
  • AWS Community Forums
  • Stack Overflow AWS tag
  • Email Geeks community

Latest Trends in Email Sending (2025)

  • AI-driven content personalization
  • Interactive email (AMP for Email)
  • Voice-optimized email content
  • Enhanced privacy protection mechanisms
  • Predictive delivery timing optimization
  • Advanced segmentation based on behavioral analytics
  • BIMI (Brand Indicators for Message Identification) adoption
  • Zero-party data integration for hyper-personalization

Remember: Email deliverability is a continuous process, not a one-time setup. Regularly review your metrics, adapt to changing ISP requirements, and focus on engagement to maintain strong sender reputation.

Scroll to Top