Quiz - Sender identity and deliverability
A password-reset Server Action times out; the framework retries it while the user also clicks “resend.” Three send attempts are now in flight for one request. What stops three reset emails from going out?
idempotencyKey on every attempt, so Resend recognizes the repeats and collapses them into one send.idempotencyKey per attempt so each send is uniquely tracked.password-reset/req_abc) — so all three attempts carry the identical key and Resend sends once. A fresh random key per attempt defeats the whole point: each retry looks like a brand-new event. The suppression list is real but solves a different problem — sends to bounced or complained addresses, not duplicate sends.A spammer sets up flawless SPF and DKIM on evil.com, then sends mail with the visible From: set to security@yourbank.com. Both SPF and DKIM pass at the receiver. Why does this still get caught when DMARC is in force?
From: domain — both checks passed on evil.com, not yourbank.com, so nothing aligns and DMARC fails.From: belong to different domains, which is always true for spoofed mail.From: — that’s the exact hole. DMARC closes it with alignment: a passing check only counts if the domain that passed matches the domain the human reads. The spammer’s checks are perfectly valid for evil.com, so they pass but don’t align, and DMARC fails. DMARC doesn’t re-run the crypto, and it isn’t about envelope-vs-From mismatch in general — legitimate relaxed alignment allows subdomains to differ.You want your domain protected by p=reject. What’s the correct way to get there?
p=none first, watch the rua aggregate reports to find and authenticate every legitimate sender, then ramp through quarantine to reject on evidence — not the calendar.p=reject immediately — it’s the most secure setting, and any mail it bounces was unauthenticated and shouldn’t have been sent anyway.p=quarantine and leave it there permanently; reject is only needed for banks and is overkill for a SaaS.p=reject is a destination reached on evidence, not a switch you flip. Going straight to reject hard-bounces every legitimate sender you forgot to authenticate — the billing tool, the CRM, a founder’s mail-merge — silently, the moment DNS propagates. The staged rollout exists precisely because the failure isn’t graceful. The gate at every step is what the reports show, never how much time has passed.A “your free trial ends in 3 days — upgrade now” email is account-specific and time-sensitive. Which subdomain should it send from, and why?
marketing.yourapp.com — a timer fired it, not the user, and its purpose is to sell, so it’s marketing no matter how account-specific the body reads.send.yourapp.com — it’s about the user’s specific account and carries a real deadline, which makes it transactional.yourapp.com — billing-adjacent mail belongs with the human support correspondence.Inside sendEmail, the suppression-list query throws — the database connection timed out. What should the wrapper do, and what’s the principle?
Result and surface the error — because a missed send is recoverable but a send to a suppressed address is not.A new sign-up’s first verification email goes to an address that hard-bounced two months ago. Select the statements that are correct about how the system should handle this. Select all that apply.
bypassSuppression: true, because the user may have just fixed the mailbox and the flow exists to find that out.bypassSuppression should default to true for all sends so legitimate users are never blocked by stale bounces.User@x.com misses the user@x.com row. But bypass is a privilege granted explicitly per flow and auditable in review — never a default — and silently returning success would hide a real failure from the caller.Quiz complete
Score by topic