77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
---
|
|
title: AWS SES Setup
|
|
description: Configure email delivery
|
|
---
|
|
|
|
## 1. Create IAM User
|
|
|
|
1. Go to IAM Console → Users → Create user
|
|
2. Name: `plunk-ses`
|
|
3. Attach a custom policy with required permissions (see below)
|
|
4. Create access keys → Save credentials
|
|
|
|
### Required IAM Policy
|
|
|
|
```json
|
|
{
|
|
"Version": "2012-10-17",
|
|
"Statement": [
|
|
{
|
|
"Effect": "Allow",
|
|
"Action": [
|
|
"ses:SetIdentityMailFromDomain",
|
|
"ses:GetIdentityDkimAttributes",
|
|
"ses:SendRawEmail",
|
|
"ses:GetIdentityVerificationAttributes",
|
|
"ses:VerifyDomainDkim",
|
|
"ses:ListIdentities",
|
|
"ses:SetIdentityFeedbackForwardingEnabled"
|
|
],
|
|
"Resource": "*"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## 2. Create SNS Topic
|
|
|
|
1. Go to SNS Console → Topics → Create topic
|
|
2. Type: Standard
|
|
3. Name: `plunk-ses-events`
|
|
4. Create topic
|
|
5. Create subscription:
|
|
- Protocol: HTTPS
|
|
- Endpoint: `https://api.yourdomain.com/webhooks/sns`
|
|
6. Plunk automatically confirms the subscription. If it fails, check your logs for the confirmation URL.
|
|
|
|
## 3. Create Configuration Sets
|
|
|
|
### Tracking Configuration Set
|
|
|
|
1. SES Console → Configuration sets → Create set
|
|
2. Name: `plunk-tracking`
|
|
3. Add event destination:
|
|
- Name: `sns-events`
|
|
- Event types: **Sends, Deliveries, Opens, Clicks, Bounces, Complaints**
|
|
- Destination: SNS → Select `plunk-ses-events` topic
|
|
|
|
### No-Tracking Configuration Set
|
|
|
|
1. Create another set named `plunk-no-tracking`
|
|
2. Add event destination with only: **Sends, Deliveries, Bounces, Complaints**
|
|
|
|
## 4. Configure Environment
|
|
|
|
```bash
|
|
AWS_SES_REGION="us-east-1"
|
|
AWS_SES_ACCESS_KEY_ID="your-access-key"
|
|
AWS_SES_SECRET_ACCESS_KEY="your-secret-key"
|
|
SES_CONFIGURATION_SET="plunk-tracking"
|
|
SES_CONFIGURATION_SET_NO_TRACKING="plunk-no-tracking"
|
|
```
|
|
|
|
## 5. Add Your Domain in Plunk
|
|
|
|
Once you have configured AWS SES with the above settings, you can add and verify your domain directly through the Plunk dashboard. Plunk will handle the domain verification and DKIM setup with AWS SES automatically and show you the right records to add to your DNS.
|
|
|