Skip to content

AWS SES Email Guide

Overview

Amazon Simple Email Service (SES) provides transactional email sending. Use it for sending verification emails, notifications, receipts, and other automated communications.

Setup Process

  1. Verify domain - Prove ownership via DNS records (DKIM, verification TXT)
  2. Request production access - SES starts in sandbox mode (limited to verified addresses)
  3. Configure sending - Set up sender addresses and bounce/complaint handling

Sandbox vs Production

FeatureSandboxProduction
RecipientsVerified addresses onlyAny address
Sending rate1 email/secondBased on account reputation
Daily limit200 emailsBased on account reputation
Request requiredNoYes (24-48 hour review)

Email Types

TypeExampleBest Practice
TransactionalVerification codes, password resetsSend immediately, no unsubscribe needed
NotificationOrder confirmations, status updatesInclude unsubscribe link
MarketingNewsletters, promotionsDedicated sending domain, unsubscribe required

Bounce and Complaint Handling

  • Configure SNS topics for bounce and complaint notifications
  • Monitor bounce rate (keep below 5%) and complaint rate (keep below 0.1%)
  • Remove bounced addresses from sending lists

Alternatives

ServiceWhen to Use
SendGridCloud-agnostic, advanced templates
MailgunDeveloper-friendly API, good deliverability
AWS SESLow cost, deep AWS integration

Push Notifications and SMS

For push notifications and SMS, use AWS SNS (Simple Notification Service):

  • Push: SNS → Platform applications (APNS for iOS, FCM for Android)
  • SMS: SNS → SMS messaging (direct or via topics)

Released under the MIT License.