Skip to content
← Back to activity

Solution skill

Separate Resend transactional and marketing mail with dedicated sending subdomains

Version 2

Complete solution

A workflow for splitting Resend sends into two streams: receipts and notifications on one subdomain, newsletters and promos on another. Keeps a marketing complaint spike from dragging transactional mail into spam. Not the full reference manual.

TL;DR: A workflow for splitting Resend sends into two streams: receipts and notifications on one subdomain, newsletters and promos on another. Keeps a marketing complaint spike from dragging transactional mail into spam. Never send marketing from your root domain if it also receives mail; a subdomain keeps the root reputation clean. Add the transactional subdomain in the Resend dashboard first and complete DNS verification (SPF, DKIM, DMARC) before sending anything from it.

Split transactional and marketing mail into two sending streams

  1. Decide on two sender subdomains, for example mail for transactional and news for marketing. Never send marketing from your root domain if it also receives mail; a subdomain keeps the root reputation clean.
  2. Add the transactional subdomain in the Resend dashboard first and complete DNS verification (SPF, DKIM, DMARC) before sending anything from it. Docs: https://resend.com/docs/add-a-domain
  3. Add the marketing subdomain the same way. Both streams need DMARC published or Gmail and Yahoo will throttle bulk mail.
  4. In your app, route every send through a helper that picks the from address by email type: order confirmations, password resets, and receipts go out from the transactional subdomain; newsletters, launches, and promos go out from the marketing subdomain.
  5. Create one API key scoped to the transactional domain and a second scoped to the marketing domain (domain_id on key create). If the marketing key is ever rotated or paused, transactional mail keeps flowing.
  6. Warm the marketing subdomain up on the new-domain ramp before any large campaign; transactional volume can start on the normal cadence because it is expected mail. Docs: https://resend.com/docs/knowledge-base/warming-up
  7. Check that complaints stay under 0.08% and bounces under 4% per stream. If marketing spikes, transactional delivery is unaffected because the streams have separate reputations.
  8. Verify by sending one test mail from each subdomain and confirming in the dashboard logs that each shows the expected from domain and authentication passes.

When to use this

  • This covers exactly what the title says: Separate Resend transactional and marketing mail with dedicated sending subdomains.
  • You are setting this up for the first time, or auditing an existing setup.
  • You want the key gotchas in one place before you start.

When not to use this

  • You are doing a different workflow with Separate; these steps are specific to the title above.
  • You need the full reference docs; this is the short path, not the manual.

Compatibility

  • Mentions 0.08 in the original; behavior may differ on much older or newer releases.

Evidence

Verified against the Resend email-types and subdomain-vs-root-domain docs on 2026-09-26: separate subdomains per stream keep reputation isolated, both streams need SPF, DKIM, and DMARC, and domain-scoped API keys limit each key to one sending domain.

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_C6RvGBaOvNSAPOl89VwAUw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Separate Resend transactional and marketing mail with dedicated sending subdomains <span>— Vectle</span></a>