Ability to disable SNS bounce handling
This commit is contained in:
@@ -1,10 +1,17 @@
|
||||
# SES SNS Bounce Handling Setup
|
||||
# SES SNS Bounce Handling Setup (Optional)
|
||||
|
||||
**⚠️ NOTICE: Bounce handling is optional and disabled by default.**
|
||||
|
||||
This document describes how to configure AWS SES and SNS to handle email bounces automatically in the Mail List Manager.
|
||||
|
||||
**Prerequisites:**
|
||||
- SES production access (not available in sandbox mode)
|
||||
- Valid HTTPS domain for webhook endpoint
|
||||
- Bounce handling must be enabled in configuration
|
||||
|
||||
## Overview
|
||||
|
||||
The system uses AWS Simple Notification Service (SNS) to receive real-time bounce notifications from AWS Simple Email Service (SES). When an email bounces:
|
||||
The system can optionally use AWS Simple Notification Service (SNS) to receive real-time bounce notifications from AWS Simple Email Service (SES). When bounce handling is enabled and an email bounces:
|
||||
|
||||
1. SES sends a notification to an SNS topic
|
||||
2. SNS forwards the notification to your webhook endpoint
|
||||
@@ -22,13 +29,28 @@ The system uses AWS Simple Notification Service (SNS) to receive real-time bounc
|
||||
|
||||
## Setup Instructions
|
||||
|
||||
### 1. Prerequisites
|
||||
### 1. Enable Bounce Handling
|
||||
|
||||
First, enable bounce handling in your `.env` file:
|
||||
|
||||
```bash
|
||||
# Enable SNS webhook bounce handling
|
||||
ENABLE_SNS_WEBHOOKS=true
|
||||
ENABLE_BOUNCE_HANDLING=true
|
||||
```
|
||||
|
||||
Restart the API container after making this change:
|
||||
```bash
|
||||
sudo docker-compose restart api
|
||||
```
|
||||
|
||||
### 2. Prerequisites
|
||||
|
||||
- AWS account with SES configured and verified
|
||||
- Your Mail List Manager deployed and accessible via HTTPS (required for SNS webhook)
|
||||
- Domain or subdomain for webhook (e.g., `https://lists.yourdomain.com`)
|
||||
|
||||
### 2. Create SNS Topic
|
||||
### 3. Create SNS Topic
|
||||
|
||||
1. Log in to AWS Console and navigate to SNS
|
||||
2. Click "Create topic"
|
||||
@@ -38,7 +60,7 @@ The system uses AWS Simple Notification Service (SNS) to receive real-time bounc
|
||||
6. Click "Create topic"
|
||||
7. **Save the Topic ARN** (you'll need it in step 4) arn:aws:sns:eu-west-2:827164363113:ses-bounces
|
||||
|
||||
### 3. Subscribe Your Webhook to SNS Topic
|
||||
### 4. Subscribe Your Webhook to SNS Topic
|
||||
|
||||
1. In the SNS topic details, click "Create subscription"
|
||||
2. Protocol: `HTTPS`
|
||||
@@ -49,7 +71,7 @@ The system uses AWS Simple Notification Service (SNS) to receive real-time bounc
|
||||
5. Click "Create subscription"
|
||||
6. The subscription will be in "PendingConfirmation" status
|
||||
|
||||
### 4. Confirm SNS Subscription
|
||||
### 5. Confirm SNS Subscription
|
||||
|
||||
When you create the subscription, SNS will send a `SubscriptionConfirmation` request to your webhook endpoint. The Mail List Manager API automatically confirms this subscription.
|
||||
|
||||
@@ -61,7 +83,7 @@ When you create the subscription, SNS will send a `SubscriptionConfirmation` req
|
||||
3. In the AWS SNS console, refresh the subscriptions list
|
||||
4. The status should change from "PendingConfirmation" to "Confirmed"
|
||||
|
||||
### 5. Configure SES to Send Bounce Notifications
|
||||
### 6. Configure SES to Send Bounce Notifications
|
||||
|
||||
1. Navigate to AWS SES console
|
||||
2. Go to "Configuration Sets" (or "Verified identities" > select your domain > "Notifications")
|
||||
@@ -78,7 +100,7 @@ When you create the subscription, SNS will send a `SubscriptionConfirmation` req
|
||||
- Include original headers: Enabled (optional)
|
||||
- Click "Save changes"
|
||||
|
||||
### 6. Verify Setup
|
||||
### 7. Verify Setup
|
||||
|
||||
#### Test with a Bounce Simulator
|
||||
|
||||
@@ -108,7 +130,7 @@ Or send to your mailing list with a test recipient:
|
||||
5. Find the test member and click the "Bounces" button
|
||||
6. You should see the bounce event recorded
|
||||
|
||||
### 7. Security Considerations
|
||||
### 8. Security Considerations
|
||||
|
||||
#### SNS Signature Verification
|
||||
|
||||
@@ -149,7 +171,7 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
### 8. Managing Bounces in the UI
|
||||
### 9. Managing Bounces in the UI
|
||||
|
||||
#### View Bounce Status
|
||||
|
||||
@@ -178,7 +200,7 @@ If a member's email has been corrected or verified:
|
||||
|
||||
**Note**: Only users with write access (administrators and operators) can reset bounce status.
|
||||
|
||||
### 9. Monitoring and Maintenance
|
||||
### 10. Monitoring and Maintenance
|
||||
|
||||
#### Check Bounce Logs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user