# Send with Amazon SES

**Recommended for volume.** SES sends from your own domain for about $0.10 per 1,000 emails, and FounderDB warms each SES mailbox up automatically. Pair it with [Cloudflare receiving](https://founderdb.co/docs/receiving-cloudflare.md) so replies come back to FounderDB.

## 1. Use mail.yourdomain.com

Send from `mail.yourdomain.com` — e.g. `hello@mail.yourdomain.com` — and receive replies on `yourdomain.com` itself ([Cloudflare receiving](https://founderdb.co/docs/receiving-cloudflare.md)). Keeping sending on its own subdomain protects the rest of your domain's reputation, and it's the setup the rest of these docs assume.

## 2. Verify the domain in SES

1. AWS console → **Amazon SES** → pick a region (e.g. `us-east-1`) and use the same one throughout.
2. **Configuration → Identities → Create identity → Domain** → `mail.yourdomain.com`.
3. Keep **Easy DKIM** (RSA 2048) and let SES show you three `CNAME` records. Add them in your DNS (on Cloudflare: *DNS → Records*, proxy **off**). The identity turns **Verified** within minutes to an hour.

### DNS records

| Record | Name | Value | Why |
| --- | --- | --- | --- |
| 3 × CNAME | from SES (DKIM) | from SES | Signs your mail — required |
| TXT | `_dmarc.mail.yourdomain.com` | `v=DMARC1; p=none; rua=mailto:you@yourdomain.com` | DMARC — start with `p=none` |

That's enough to send well-authenticated mail. **Optional:** set a custom MAIL FROM on the identity (*Custom MAIL FROM domain* → `bounce.mail.yourdomain.com`) and add the MX `10 feedback-smtp.<region>.amazonses.com` and TXT `v=spf1 include:amazonses.com ~all` records SES shows you, so SPF aligns too.

## 3. Leave the sandbox

New SES accounts are in the **sandbox**: at most 200 emails a day, and only to addresses you've verified. Cold outreach needs **production access**: SES → **Account dashboard → Request production access**. Describe honestly: low-volume, personal outreach to founders who just launched publicly, every email has a one-click unsubscribe, and bounces and complaints are tracked. Approval usually takes about a day.

## 4. Create an access key

1. **IAM → Users → Create user** (e.g. `founderdb-sender`), no console access.
2. Attach an inline policy:

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["ses:SendEmail", "ses:SendRawEmail", "ses:GetEmailIdentity"],
      "Resource": "*"
    }
  ]
}
```

3. **Security credentials → Create access key** → *Application running outside AWS* → copy the **Access key ID** and **Secret access key**.

## 5. Add the mailbox in FounderDB

1. *Outreach → Mail accounts → Sending → AWS SES*.
2. **From email** `hello@mail.yourdomain.com`, a **Sender name** people will recognise (your name), the two keys, and the **Region** you used.
3. **Reply domain:** your receiving domain from [Cloudflare receiving](https://founderdb.co/docs/receiving-cloudflare.md). (If you leave it on *None*, FounderDB uses your first receiving domain anyway.)
4. **Add SES account.** FounderDB checks that SES has a verified identity covering the From address (or, failing that, sends a real test email). The badge turns **Sending** when it passes; **Not verified yet** means SES doesn't have a verified identity for that address — fix it, then click **Verify**.

Click **Send test** to send yourself one real email — it skips pacing and isn't counted as outreach.

## Warm-up and pacing

A new SES mailbox warms up automatically: **50, 100, 150, 200, 200, 300** emails a day over its first six days, then **300 a day** from then on (or the mailbox's daily cap, if that's lower). Add more mailboxes to send more. Sends are spaced **4–18 minutes apart** (change *Min gap* / *Max gap* on the mailbox) and only go out inside each sequence's send window. With several mailboxes, each email goes from the one with the earliest free slot.

## Next

[Create your sequence](https://founderdb.co/docs/recommended-sequence.md).
