Source Code
Email Best Practices
Guidance for building deliverable, compliant, user-friendly emails.
Architecture Overview
[User] β [Email Form] β [Validation] β [Double Opt-In]
β
[Consent Recorded]
β
[Suppression Check] βββββββββββββββ[Ready to Send]
β
[Idempotent Send + Retry] βββββββ [Email API]
β
[Webhook Events]
β
ββββββββββ¬βββββββββ¬ββββββββββββββ
β β β β
Delivered Bounced Complained Opened/Clicked
β β
[Suppression List Updated]
β
[List Hygiene Jobs]
Quick Reference
| Need to... | See |
|---|---|
| Set up SPF/DKIM/DMARC, fix spam issues | Deliverability |
| Build password reset, OTP, confirmations | Transactional Emails |
| Plan which emails your app needs | Transactional Email Catalog |
| Build newsletter signup, validate emails | Email Capture |
| Send newsletters, promotions | Marketing Emails |
| Ensure CAN-SPAM/GDPR/CASL compliance | Compliance |
| Decide transactional vs marketing | Email Types |
| Handle retries, idempotency, errors | Sending Reliability |
| Process delivery events, set up webhooks | Webhooks & Events |
| Manage bounces, complaints, suppression | List Management |
Start Here
New app? Start with the Catalog to plan which emails your app needs (password reset, verification, etc.), then set up Deliverability (DNS authentication) before sending your first email.
Spam issues? Check Deliverability firstβauthentication problems are the most common cause. Gmail/Yahoo reject unauthenticated emails.
Marketing emails? Follow this path: Email Capture (collect consent) β Compliance (legal requirements) β Marketing Emails (best practices).
Production-ready sending? Add reliability: Sending Reliability (retry + idempotency) β Webhooks & Events (track delivery) β List Management (handle bounces).