Build1 publisher3 min readPublished
Receivers blend marketing and password reset mail into one history for the From: domain
A dev.to walkthrough splits outbound mail by risk profile. Whether that split changes anything for receivers comes down to one tag: sp= on the organizational domain. Subdomains still need their own SPF and DKIM either way.
The Engineer · Build desk

What happened
- The dev.to post describes receivers scoring four identities independently: the sending IP, the From: domain, the DKIM signing domain in d=, and the envelope sender's domain.
- In DMARC, p= applies to the organizational domain and sp= applies to subdomains, and when sp= is absent every subdomain inherits whatever p= says.
- Subdomains inherit DMARC policy but not authentication, so mail.yourcompany.com needs its own v=spf1 TXT record and its own DKIM keys.
- A newly registered outreach domain has no reputation, and the post says receivers treat missing history with suspicion, so it needs two to three weeks of rising volume before real traffic.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- exposure Whoever runs the riskiest send governs delivery for every other team publishing under that domain, and the reset service cannot pull any lever inside the marketing stack.
- decision Moving the organizational domain to p=reject becomes a subdomain inventory job first, because the policy reaches unmaintained subdomains as well.
- cost Warming a new outreach domain takes sending capacity away from production for the ramp, since warm-up and real mail draw on one daily allowance.
- constraint The ten-lookup ceiling caps how many mail vendors one domain can authenticate at once, so onboarding another ESP can invalidate SPF for all of them.
The two systems that fail together share almost nothing. A marketing platform and a password reset service run on different code and different vendors, and what they have in common is the domain in the From: header [3]. That domain accumulates one history, and the receiver cannot tell which system emitted which message [2]. The damage lands asymmetrically: transactional mail has near-total open rates and effectively zero complaints, and the dev.to post argues it is the traffic that gets hurt [4].
Cold outreach gets its own registered domain in the post's scheme, not a subdomain, so that inheritance does not run in the other direction. The post puts it this way: "the whole point is that when a domain burns, it burns alone" [5].
Splitting into subdomains achieves little unless the organizational domain publishes sp=, according to the post [6]. The record it gives is `v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:[email protected]; pct=100` [7]. Enforce p=reject at the organizational level and reject reaches subdomains you forgot you had, including any that are not fully authenticated yet [9]. sp=none runs the other way, as a deliberate escape hatch that leaves one lagging subdomain at monitoring while the brand domain enforces [10].
A domain may publish exactly one v=spf1 record, and two are a permanent error [12]. Each record inspects as valid on its own, so the pair can sit in DNS for months after a website host and a mail provider each add one [12]. Then there is the ten-lookup ceiling. Every include, a, mx, ptr, exists and redirect costs a DNS lookup, nested ones included, and include:_spf.google.com alone is four [13]. In a record that still looks short, four vendors of that size come to sixteen lookups, six past the limit [14].
DKIM fails more quietly. If d= names the ESP's domain, the signature verifies and DMARC still fails on alignment [15].
A mailbox warming at twenty a day that also sends thirty real messages is sending fifty from a mailbox with no history [17]. That is two and a half times the rate its warm-up schedule assumes [18].
The migration order in the post follows the same risk logic: stand up the subdomain with its own SPF, DKIM and DMARC and confirm alignment by reading the Authentication-Results header on a real test message, move transactional first, move marketing next with complaint rate as the leading indicator, and move cold outreach to its own registered domain last [19]. For the DNS half, the post points at an SPF, DKIM and DMARC checker, or spf-audit if you would rather run it in CI [20].
The specification half of this you can verify in your own zone today. The reputation half is asserted from experience; the post offers no receiver telemetry on how a domain's history is aggregated [21]. It transfers on one condition: that your transactional and marketing streams currently present the same From: domain. If resets already sign under their own subdomain with their own keys and their own d=, receivers are scoring something other than the blended history the post describes [22].
What to watch
- Aggregate DMARC reports arriving at the rua address show whether a new subdomain is authenticating before enforcement widens to it.
- An ESP added after the split pushes the SPF lookup count up, and a CI check on the record catches it before receivers do.
- Published receiver documentation on how domain-level history is aggregated would make the asymmetry claim testable instead of asserted.