When a user configures SMTP for a project (SES, Mailgun, custom), the wrong DNS records on their sending domain are the #1 cause of poor deliverability. SendDock should check them and warn before broadcasting.
What's needed
- Backend: per-project DNS validator that resolves and parses SPF, DKIM (selector configurable per provider), DMARC and PTR records
- Backend:
GET /api/v1/projects/{id}/dns-check returns each record's presence, value, and pass / warn / fail with a human explanation per failure
- UI: new DNS health card in project Settings that runs the check on demand and shows a status pill per record
- UI: pre-broadcast warning banner if any record is
fail — non-blocking, just a "send anyway" path with the failures listed
- Caching: cache results for 1h to avoid hammering DNS resolvers on UI refresh
Provider presets
Common providers use known DKIM selectors. Ship with presets so the user doesn't have to type the selector:
| Provider |
Default selector |
| SES |
<region>._amazonses |
| Mailgun |
mx._domainkey |
| Postmark |
<id>._domainkey |
| Resend |
resend._domainkey |
| Custom |
user-provided |
Tier
Pro — fits the existing analytics + deliverability story (bounce ingestion, suppression list).
When a user configures SMTP for a project (SES, Mailgun, custom), the wrong DNS records on their sending domain are the #1 cause of poor deliverability. SendDock should check them and warn before broadcasting.
What's needed
GET /api/v1/projects/{id}/dns-checkreturns each record's presence, value, andpass/warn/failwith a human explanation per failurefail— non-blocking, just a "send anyway" path with the failures listedProvider presets
Common providers use known DKIM selectors. Ship with presets so the user doesn't have to type the selector:
<region>._amazonsesmx._domainkey<id>._domainkeyresend._domainkeyTier
Pro — fits the existing analytics + deliverability story (bounce ingestion, suppression list).