# Amazon SES

Email service that sends and receives mail through an API, SMTP or SDKs, with delivery events published to AWS services.

- Provider: Amazon Web Services (https://aws.amazon.com/ses/)
- Category: Send email
- Type: Hosted API
- Pricing model: Pay as you go; $0.16 per 1,000 emails on the default Essentials plan, $0.10 à la carte [1]
- Free tier: Up to $200 in AWS Free Tier credits for new AWS customers [1]
- Authentication: AWS IAM credentials (SigV4) for the API; SMTP username and password; OAuth 2.1 or SigV4 for the AWS MCP Server [15]
- Connect via: REST API (v2), SMTP, AWS SDKs and CLI, general AWS MCP Server [5]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/send-email/amazon-ses

## Pricing

### Billing
- Pricing model: Pay as you go by emails sent and received; optional monthly plans (Essentials, Pro, Enterprise) or à la carte [1]
- Free tier: Up to $200 in AWS Free Tier credits for new AWS customers; credits must be used within 12 months of account creation [1]
- Card required for free tier: Not published
- Minimum spend: None on à la carte pricing [1]
- Minimum spend (plans): Pro $105 and Enterprise $500 a month per account per region; Essentials has no fixed fee [1]
- Billing period: Monthly, per account and per region [2]

### Prices
Unit is $ per 1,000 emails. Example from the pricing page: 250,000 emails of 32 KB on Essentials is 250,000 × $0.16 / 1,000 = $40.00 plus $0.96 attachment data.
- Outbound email, default plan (Essentials), first 10M emails a month: $0.16 per 1,000 emails [1]
- Outbound email, default plan: how new accounts start: New accounts start on Essentials [1]
- Outbound email, advertised à la carte: $0.10 per 1,000 emails [1]
- Attachment data sent: $0.12 per GB, on top of the per-email rate [1]
- Inbound email (à la carte): $0.10 per 1,000 emails, plus $0.09 per 1,000 incoming email chunks [1]

### Plans
Tiers are marginal. Fixed fees are per account per region. Rows for Essentials, Pro and Enterprise read from the plan table; à la carte from the à la carte table.
| Plan | 0 to 10M emails a month | 10 to 100M | Over 100M | Fixed fee a month |
|---|---|---|---|---|
| Essentials (default for new accounts) | $0.16 per 1,000 | $0.14 per 1,000 | $0.11 per 1,000 | None |
| Pro | $0.22 per 1,000 | $0.17 per 1,000 | $0.12 per 1,000 | $105 |
| Enterprise | $0.23 per 1,000 | $0.18 per 1,000 | $0.13 per 1,000 | $500 |
| À la carte | $0.10 per 1,000 | $0.10 per 1,000 | $0.10 per 1,000 | None |
Source [1]

### Other charges
- Dedicated IPs, standard: $24.95 per month per IP [1]
- Dedicated IPs, managed: $15 per month per account plus $0.08 per 1,000 emails for the first 10M a month [1]
- Email validation: $0.01 per address validated by API or console [1]
- Virtual Deliverability Manager: $0.07 per 1,000 emails for the first 10M a month, plus query fees [1]
- Mail Manager email processing: $0.15 per 1,000 emails [1]
- Global Endpoints: $0.03 per 1,000 emails on top of the base sending price [1]
- Other AWS services: SNS, S3, CloudWatch and EC2 data transfer are billed separately [1]

## Tools

### MCP server
A direct `initialize` and `tools/list` without credentials succeeded and returned 8 tools.
- Official MCP server: Yes, remote [14]
- Address or package: `https://aws-mcp.us-east-1.api.aws/mcp` [14]
- Scope: General AWS server, not SES-specific; SES guidance comes from the `amazon-ses` skill and SES calls go through `aws___run_script` [14]

### MCP tools
From `tools/list` on the AWS MCP Server, checked 2026-11-04; read-only values are the server's `readOnlyHint`.
| Tool | What it does | Read-only |
|---|---|---|
| `aws___search_documentation` | Searches AWS documentation and returns page chunks | Yes |
| `aws___read_documentation` | Fetches full AWS documentation pages as markdown | Yes |
| `aws___retrieve_skill` | Retrieves an AWS skill (workflows, references), such as `amazon-ses` | Yes |
| `aws___run_script` | Runs Python in a sandbox with AWS API access through `call_boto3` | No |
| `aws___get_presigned_url` | Generates pre-signed S3 URLs for uploads or downloads | No |
| `aws___get_tasks` | Polls the status of long-running tasks | Yes |
| `aws___list_regions` | Lists AWS regions | Yes |
| `aws___get_regional_availability` | Shows AWS resource availability per region | Yes |
Source [31]

### API
| Endpoint | What it does |
|---|---|
| `POST /v2/email/outbound-emails` (`SendEmail`) | Send one message: simple, raw or templated, with optional attachments |
| `POST /v2/email/outbound-bulk-emails` (`SendBulkEmail`) | Send one template to many destinations in a single call |
| `CreateEmailIdentity` | Create and verify a sending domain or address |
| `CreateConfigurationSet`, `UpdateConfigurationSetEventDestination` | Set where sending events are published |
| `CreateEmailTemplate` | Store a reusable template |
| `PutAccountDetails` | Submit the production access request from the CLI or API |
| `DeleteSuppressedDestination` | Remove an address from the account-level suppression list |
| SMTP interface (`email-smtp.<region>.amazonaws.com`) | Send through SMTP on ports 25, 465, 587, 2465 or 2587 |
Source [10]

### Features
- Sending domains: Up to 10,000 verified identities (domains or addresses) per region [3]
- Receiving email: Yes, receipt rules to S3, SNS, Lambda and others; also Mail Manager [7]
- Webhooks: Not to a URL directly; sending events go to event destinations (SNS, CloudWatch, Data Firehose, EventBridge, Pinpoint) [27]
- Batch sending: Yes, `SendBulkEmail` with templates; up to 50 destinations per call [3]
- Scheduled sending: Not published
- Attachment size limit: 40 MB per message with the v2 API or SMTP; 10 MB with the v1 API [3]
- Dedicated IP: Yes: standard (self-managed) or managed (auto warm-up) [9]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| AWS IAM credentials (SigV4) | REST API, SDKs, CLI | Requests are signed with AWS credentials; SDKs handle signing |
| SMTP username and password | SMTP interface | Generated per region from IAM; different from the AWS secret access key |
| OAuth 2.1 | AWS MCP Server | Browser sign-in; the IAM identity needs `signin:AuthorizeOAuth2Access` and `signin:CreateOAuth2Token` |
| SigV4 through a local proxy | AWS MCP Server | AWS CLI credentials with the MCP Proxy for AWS (`uvx`) |
Source [15]

### Getting access
- Who creates the account: A person signs up for an AWS account; no statement on agents signing up alone [15]
- Where to get a key: IAM access keys for the API; SES console for SMTP credentials [18]
- Other requirements: New accounts start in the sandbox; moving to production is a request a person submits in the console, answered by AWS Support within 96 hours [4]
- Sandbox limits: Mail only to verified addresses or the mailbox simulator; 200 messages a day; 1 message a second [4]
- Verified sender identity: Required for every "From", "Source", "Sender" or "Return-Path" address, even in production [4]

## Setup

### Addresses
- REST API: `https://email.us-east-1.amazonaws.com` (one endpoint per region) [19]
- MCP server: `https://aws-mcp.us-east-1.api.aws/mcp` [14]
- OpenAPI spec: Not published
- Docs for agents: `https://docs.aws.amazon.com/ses/latest/dg/llms.txt` [27]
- Status page: `https://status.aws.amazon.com/` [31]
- SMTP endpoint: `email-smtp.us-east-1.amazonaws.com` [19]

### Install
The SDK and CLI rows follow the package names on npm and PyPI; the other rows are quoted from the SES agent setup guide.
| What | Command |
|---|---|
| Claude Code plugin with the AWS MCP Server | `/plugin install aws-core@claude-plugins-official` |
| Codex marketplace | `codex plugin marketplace add aws/agent-toolkit-for-aws` |
| Kiro local `amazon-ses` skill | `npx skills add https://github.com/aws/agent-toolkit-for-aws --skill amazon-ses --agent kiro-cli --yes` |
| Automatic agent setup with the AWS CLI 2.35.0 or later | `aws configure agent-toolkit` |
| JavaScript SDK | `npm install @aws-sdk/client-sesv2` |
| Python SDK | `pip install boto3` |
| CLI | `aws sesv2 send-email` |
Source [14]

### SDK packages
- JavaScript package: `@aws-sdk/client-sesv2` [28]
- Python package: `boto3` [29]

## Limits

### Rate limits
| Scope | Limit |
|---|---|
| Sandbox sending rate | 1 email per second |
| Sandbox daily quota | 200 emails per 24 hours |
| Production sending rate and daily quota | Set by AWS per account and region based on use case; increases can be requested |
| API actions other than `SendEmail` and `SendBulkEmail` | 1 request per second |
Source [3]

### Other limits
- Recipients per message: 50 (To, CC and BCC combined) [3]
- Message size, API v2 or SMTP: 40 MB after base64 encoding [3]
- Message size, API v1: 10 MB after base64 encoding [3]
- Email templates: 20,000 per region; 500 KB each [3]
- Configuration sets: 10,000 per region; 10 event destinations per set [3]
- Dedicated IP pools: 50 [3]
- Received email stored in S3: 40 MB [3]
- Quotas apply per: AWS Region [3]

## Privacy

### Your data
- Data location: In the AWS Region whose endpoint you call; SES is available in several regions [26]
- Retention: Not published
- Suppression list retention: Addresses stay on the account-level suppression list until you delete them [23]
- Used for training: Not published
- Zero data retention: Not published
- Deleting data: Personal data can be deleted through the console or API, or by closing the AWS account [23]
- Encryption in transit: Opportunistic TLS by default for outbound mail; TLS 1.2 required for API connections [22]

### Compliance
- Certifications: SOC, PCI, FedRAMP, HIPAA and others [24]
- HIPAA: Listed on the AWS HIPAA eligible services reference [25]

## Sources

1. Amazon SES pricing: https://aws.amazon.com/ses/pricing/
2. Pricing plans: https://docs.aws.amazon.com/ses/latest/dg/pricing-plans.md
3. Service quotas in Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/quotas.html
4. Request production access: https://docs.aws.amazon.com/ses/latest/dg/request-production-access.html
5. Using the Amazon SES API to send email: https://docs.aws.amazon.com/ses/latest/dg/send-email-api.html
6. What is Amazon SES?: https://docs.aws.amazon.com/ses/latest/dg/Welcome.html
7. Email receiving with Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/receiving-email.html
8. Monitoring using event publishing: https://docs.aws.amazon.com/ses/latest/dg/monitor-using-event-publishing.html
9. Dedicated IP addresses for Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/dedicated-ip.html
10. SendBulkEmail (API v2 reference): https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html
11. Amazon SES API v2 reference: https://docs.aws.amazon.com/ses/latest/APIReference-V2/Welcome.html
12. Using templates to send personalized email: https://docs.aws.amazon.com/ses/latest/dg/send-personalized-email-api.html
13. Email attachments: https://docs.aws.amazon.com/ses/latest/dg/attachments.md
14. Set up an AI coding agent for Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/agent-setup-guide.md
15. Setting up the AWS MCP Server: https://docs.aws.amazon.com/agent-toolkit/latest/userguide/getting-started-aws-mcp-server.html
16. Connecting to an SMTP endpoint: https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.md
17. Using the SES SMTP interface to send email: https://docs.aws.amazon.com/ses/latest/dg/send-email-smtp.html
18. Obtaining Amazon SES SMTP credentials: https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html
19. Amazon SES endpoints and quotas: https://docs.aws.amazon.com/general/latest/gr/ses.html
20. Identity and access management in Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/control-user-access.html
21. Creating and verifying identities: https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html
22. Data protection in Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/data-protection.html
23. Deleting personal data from Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/deleting-personal-data.md
24. Compliance validation for Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/compliance-validation.md
25. HIPAA eligible services reference: https://aws.amazon.com/compliance/hipaa-eligible-services-reference/
26. Regions and Amazon SES: https://docs.aws.amazon.com/ses/latest/dg/regions.md
27. Amazon SES developer guide llms.txt: https://docs.aws.amazon.com/ses/latest/dg/llms.txt
28. @aws-sdk/client-sesv2 on npm: https://registry.npmjs.org/@aws-sdk/client-sesv2
29. boto3 on PyPI: https://pypi.org/pypi/boto3/json
30. AWS status page: https://status.aws.amazon.com/
31. Checked by supermarket.dev
