Prerequisites
- Node.js 20+
- AWS credentials configured (guide)
- A domain you control (to add DNS records)
What gets deployed
Runningwraps email init creates the following resources in your AWS account:
| Resource | Details |
|---|---|
| SES configuration set | Named wraps-email-* with open/click tracking |
| EventBridge rule | Routes SES events (bounces, complaints, deliveries) |
| SQS queue | Buffers events for processing |
| DynamoDB table | Stores email event history (configurable retention) |
| Lambda function | Processes events and handles webhooks |
| IAM role | Least-privilege role with OIDC support |
ManagedBy: wraps-cli.
Configuration presets
Choose a preset during setup. You can upgrade later withwraps email upgrade.
| Preset | Estimated cost | Features |
|---|---|---|
starter | ~$0.05/mo | Open/click tracking, bounce suppression |
production | ~$2–5/mo | + Event tracking, 90-day history, reputation metrics |
enterprise | ~$50–100/mo | + Dedicated IP, 1-year history, all event types |
Deploy infrastructure
Run the following command. No install required — The CLI will prompt you for:Deployment takes about 2–3 minutes. When complete, the CLI prints your IAM role ARN and configuration set name.
npx fetches the CLI automatically.- Hosting provider — Vercel, AWS, Railway, or other
- AWS region — defaults to your configured region
- Domain name — the domain you’ll send from (e.g.,
yourapp.com) - Configuration preset — starter, production, or enterprise
If you want to preview what will be created without deploying, run
npx @wraps.dev/cli email init --preview.Add your domain to SES
Add the domain you’ll be sending from:This registers the domain in SES and returns DKIM tokens you’ll need to add to your DNS provider.
Configure DNS records
Fetch the DKIM tokens for your domain:The command prints three CNAME records in this format:Add these CNAME records to your DNS provider. You also need:
- SPF —
TXTrecord onyourapp.com:v=spf1 include:amazonses.com ~all - DMARC —
TXTrecord on_dmarc.yourapp.com:v=DMARC1; p=none; rua=mailto:[email protected]
Verify DNS propagation
After adding your DNS records, verify they have propagated:DNS propagation typically takes a few minutes but can take up to 48 hours depending on your provider. Run a full deliverability audit at any time:This checks DKIM, SPF, DMARC, MX TLS, blacklists, and DNS propagation.
Next steps
Email SDK reference
Send with React.Email templates, attachments, and bulk sending.
Deliverability guide
Run audits, check blacklists, and improve inbox placement.
Inbound email
Receive and process incoming email with
wraps email inbound init.OIDC for Vercel
Authenticate from Vercel without storing AWS credentials.
