Skip to main content

Amazon SES

Amazon Simple Email Service (SES) is a cost-effective email service for sending transactional emails, marketing messages, and other types of content to customers.

Key Features

  • Transactional email: Order confirmations, password resets, notifications
  • Marketing email: Newsletters, promotional campaigns
  • Receiving email: Process incoming emails with Lambda or S3
  • High deliverability: Reputation management and authentication support

Email Types

TypeExamplesConsiderations
TransactionalReceipts, alerts, verificationsHigh priority, immediate
MarketingNewsletters, promotionsUnsubscribe handling required
BulkMass notificationsCareful reputation management

Sending Methods

SMTP Interface

Use existing email-sending code with SMTP credentials.

API

Direct API calls for tighter integration:

const ses = new AWS.SES();
await ses.sendEmail({
Source: 'sender@example.com',
Destination: { ToAddresses: ['recipient@example.com'] },
Message: {
Subject: { Data: 'Hello from SES' },
Body: { Text: { Data: 'This is a test email.' } }
}
}).promise();

Authentication Setup

  1. SPF: Authorise SES to send on your behalf
  2. DKIM: Cryptographic signature verification
  3. DMARC: Policy for handling authentication failures

What We Like

  • Cost: $0.10 per 1,000 emails (extremely affordable)
  • Deliverability: Good reputation management tools
  • Scalability: Handles millions of emails
  • Flexibility: SMTP and API options

What We Don't Like

  • Sandbox mode: New accounts require verification and approval
  • No visual editor: You build templates yourself or use third-party tools
  • Limited analytics: Basic compared to dedicated email platforms
  • Reputation risk: Shared IPs can be affected by other senders

Best Practices

  1. Verify domains rather than individual email addresses
  2. Set up DKIM and SPF for better deliverability
  3. Use configuration sets for tracking and event publishing
  4. Monitor bounce and complaint rates to protect your reputation
  5. Warm up new IPs gradually if using dedicated IPs