TSTier SlateAll templates

Messaging & realtime

Transactional email - the receiver decides

queues, backoff, bounces and complaints - and SPF, DKIM and DMARC as parts of the architecture rather than a checklist

  • System design
  • core
  • 8 step walkthrough
  • 5 tables

Share

  • Facebook
  • X

What this board gets wrong on purpose

The tension

The three records that decide whether any of this works - SPF, DKIM and DMARC - live in DNS, which has no canary, no test, no rollback and no alarm attached to it. A rotated DKIM key or an SPF include that quietly exceeded ten lookups breaks one hundred per cent of sending with a green build and a silent pipeline, and the first signal is a complaint rate three days later. The board makes it worse in two ways it draws honestly: marketing and transactional mail share one IP pool, so a campaign that crosses Gmail's 0.1% complaint threshold throttles the password resets too; and the suppression list, the only brake on that, is fed by an asynchronous feedback loop that is lossy by design - a complaint we never receive is an address we keep mailing.

Requirements

Ask these before drawing anything

  • Transactional only, or marketing too? If both, the first real design decision is whether they share IPs, and the honest answer is that they must not.
  • Do we own the sending domain, or are we sending on behalf of customers? Customer domains mean per-customer DKIM keys, per-customer DNS instructions, and a support burden bigger than the system.
  • What is the latency promise? A password reset in 10 seconds and a weekly digest are different systems sharing a queue at their peril.
  • Do we store the rendered body? It is the difference between 16 GB a day and 1.8 TB a day - see the storage page.
  • What is the bounce deadline: how long may a deferred message keep retrying before delivering it is worse than dropping it? A password reset landing four hours late is a security event.
  • Are we required to track opens and clicks? Pixel tracking is a second traffic pattern, a privacy question, and increasingly a lie - Apple Mail Privacy Protection preloads images and fabricates opens.
  • Who owns unsubscribe, and does it apply across streams? A one-click unsubscribe from marketing must not stop a receipt.
  • What is the compliance retention on message content and on consent records? They are different answers and both belong in the schema.

Functional

  • Accept a send request, render a versioned per-locale template, and deliver it.
  • Never send to a suppressed address, and check that before queueing.
  • Sign every message with DKIM and send from an IP whose SPF and DMARC alignment is correct.
  • Retry 4xx deferrals with capped exponential backoff; never retry a 5xx.
  • Process DSN bounces, ARF complaints and feedback-loop reports, and suppress accordingly.
  • Warm new IPs gradually, per receiving domain.
  • Record every outcome per message, per attempt.
  • Ingest DMARC aggregate reports and surface authentication failures.

Non-functional

  • Transactional: p95 accept-to-first-SMTP-attempt under 5 seconds.
  • Marketing: a 20M-recipient campaign fully handed over within 2 hours.
  • 99.95% availability for accepting a send. Delivery to the inbox is not an availability target and cannot be one.
  • Exactly-once semantics at the address level via an idempotency key - a duplicated password reset is a security problem, not an annoyance.
  • Complaint rate below 0.1% per receiving domain, which is a hard architectural constraint, not a marketing KPI: above it, Gmail throttles everything from the IP.
  • No message is lost silently. Every message reaches a terminal state and that state is recorded.

Out of scope

  • Inbound mail, parsing and threading - a different system entirely.
  • Campaign composition, audience selection and A/B assignment.
  • The MTA software itself; assume a hardened off-the-shelf one.

The rest of this board

Board preview

Available on Tier Slate

This page publishes the question. The answer — 5 more written pages, an 8-step narrated walkthrough and a 5-table schema — is the board itself, and it opens in Tierslate.

  • 5written pages
  • 8walkthrough steps
  • 5tables35 columns

5 pages behind this one

  • Capacity estimation
  • Storage estimation
  • Availability
  • How it works
  • Deployment plan
Open this board in TierslateBrowse every board

More boards

Delivery, presence, ordering, and who is typing.

  • Chat and messaging - one socket, many deliveries
  • Presence - the most expensive cheap feature
  • Push notifications - the token outlives the install
  • Team channels - the unread count is the hard part
  • Encrypted delivery - one tick, two ticks, blue
All 50 templatesOpen Tierslate
Tierslate

tierslate.com

HomeTemplatesPrivacyTerms