On February 1, 2024, Yahoo and Google flipped a switch that quietly broke a lot of email programs.
From that date, any sender shipping more than 5,000 messages a day to Gmail or Yahoo addresses had to do five things or watch their inbox placement collapse: publish a DMARC record, align SPF and DKIM, expose a one-click unsubscribe header conforming to RFC 8058, keep the Postmaster spam complaint rate under 0.3%, and serve traffic over TLS with valid reverse DNS. Senders who had ignored authentication for a decade suddenly couldn’t reach their own customers.
That deadline reshaped what “email infrastructure” means. It is no longer a stack of mail servers and DNS records. It is a compliance floor with a stack on top of it. This guide is the end-to-end playbook: the seven layers of modern email infrastructure, the 2024+ sender rules every layer has to satisfy, a build-vs-buy decision framework with a TCO model, a 9-step setup playbook with concrete DNS examples, and warmup, monitoring, and migration procedures. If you operate email at any scale, treat the next 20 minutes as the architecture review you’ve been putting off.
This article is part of our Email deliverability guide.
What is email infrastructure?
Email infrastructure is the combined stack of DNS records, mail agents, servers, transport security, authentication protocols, sending identity, and observability tooling that gets a message from a sender’s application into a recipient’s inbox at scale.
Deliverability — whether the message reaches the inbox, the spam folder, or nowhere — is the emergent property of all of those layers working together. Get one wrong and the rest of the stack can’t save you.
A useful analogy: think of the postal system. A counter clerk validates your envelope (mail submission agent). A sorting plant decides which truck it goes on (mail transfer agent). A carrier walks it to a specific mailbox (mail delivery agent). The address book that tells the system where everything lives is DNS. The seal on the envelope that proves it wasn’t tampered with is DKIM. The credentials proving you’re authorized to send from this return address are SPF. The dispute system the recipient uses to flag bad senders is the feedback loop. Each piece can be in-house or outsourced, but the system only works if every link is intact.
A scale note: roughly 347 billion emails are sent worldwide every day (Statista). Industry deliverability benchmarks from Validity and Litmus have placed global inbox placement at around 83% in recent years — meaning ~17% of legitimate, consented mail is being routed to spam or rejected because of infrastructure failures. The gap between delivery rate and inbox placement rate is the gap good infrastructure closes.
Sender app → MSA → MTA → DNS lookup (MX) → Recipient MTA → MDA → Recipient mailbox (IMAP/POP3) → MUA
↑
Authentication checks
(SPF, DKIM, DMARC)
The 7 layers of email infrastructure
Most guides cover three or four of these layers. All seven matter.
Layer 1: DNS — the address book
Every email decision starts with DNS. The recipient’s mail server consults your domain’s DNS records to answer four questions: where do I send this, can I trust the sender, was the message altered, and what should I do if authentication fails.
Critical records for a sending domain:
- MX — the recipient-side record pointing at inbound mail servers
- A / AAAA — the IP of the sending server
- PTR (reverse DNS) — required on sending IPs by Gmail and Yahoo
- TXT — holds SPF, DKIM, DMARC, MTA-STS, and BIMI records
A minimal record set for a sending subdomain mail.example.com:
mail.example.com. IN TXT "v=spf1 include:_spf.example-esp.com -all"
selector1._domainkey.mail.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq..."
_dmarc.mail.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com; pct=100"
_mta-sts.mail.example.com. IN TXT "v=STSv1; id=20240301T000000;"
Layer 2: Mail agents (MUA, MSA, MTA, MDA)
Four agents pass the message along the chain, each playing the postal-system role above:
- MUA (Mail User Agent) — the client your user or application interacts with: Gmail web, Outlook, Apple Mail, Thunderbird, or your application’s SDK calling an ESP API.
- MSA (Mail Submission Agent) — accepts mail from the MUA on port 587, runs initial checks (authentication, format, size), and hands it off.
- MTA (Mail Transfer Agent) — the workhorse. Looks up the recipient’s MX record, opens an SMTP connection on port 25, and transfers the message. Common production MTAs: Postfix, Exim, Sendmail, Haraka, and the commercial Momentum / PowerMTA.
- MDA (Mail Delivery Agent) — accepts the message at the recipient side, applies filtering, and writes it to the user’s mailbox. Examples: Dovecot, Procmail, Maildrop.
Layer 3: Mail servers and protocols
Outbound and inbound servers speak different protocols:
- SMTP — outbound; port 587 for authenticated submission, port 25 for server-to-server relay, port 465 for legacy implicit-TLS SMTPS
- IMAP — inbound; port 993 (TLS); keeps messages on the server, syncs across devices
- POP3 — inbound; port 995 (TLS); downloads messages and typically removes them from the server
For most modern programs, IMAP is the right inbound choice — POP3 only makes sense when bandwidth or single-device access dominates.
Layer 4: Transport security
The layer most guides skip — and the layer Gmail and Yahoo now expect by default.
- TLS encrypts the SMTP session so the message can’t be read in transit.
- STARTTLS is the opportunistic upgrade: the connection starts in plaintext on port 25, then upgrades to TLS if both sides support it.
- MTA-STS (RFC 8461) lets a recipient domain publish a policy saying “do not deliver to me without TLS.” It closes the downgrade-attack window that opportunistic STARTTLS leaves open.
- TLS-RPT (RFC 8460) is the reporting companion to MTA-STS — recipients send daily reports on TLS failures to a rua= address you publish.
- ARC (Authenticated Received Chain) preserves authentication results across forwarders so a message that legitimately bounces through a mailing list still passes DMARC at the final destination.
Google’s transparency report has shown >95% of inbound mail to Gmail using TLS in recent years. If your stack still falls back to plaintext, you are below the modern floor.
Layer 5: Authentication (SPF, DKIM, DMARC, BIMI)
The headline layer. Each protocol does one thing.
- SPF (Sender Policy Framework) — a TXT record listing IPs and
include:mechanisms authorized to send for the domain. Watch the 10-DNS-lookup limit; chainedinclude:records often blow past it. Failure modes:~all(softfail) or-all(hardfail). - DKIM (DomainKeys Identified Mail) — the sending MTA signs the message with a private key; the public key lives in DNS at
selector._domainkey.domain.com. The recipient verifies the signature, which proves both authorization and integrity. - DMARC (Domain-based Message Authentication, Reporting, and Conformance) — ties SPF and DKIM together with an alignment requirement: the
From:header domain must match (relaxed or strict) the authenticating domain. Policies progress fromp=none(monitor only) →p=quarantine(junk on failure) →p=reject(block on failure). Aggregate reports (rua=) and forensic reports (ruf=) give you visibility into who is sending as you. - BIMI (Brand Indicators for Message Identification) — displays your logo in the recipient’s mail client. Requires DMARC at enforcement (
p=quarantineorp=reject), an SVG Tiny PS logo, and — for Gmail — a Verified Mark Certificate (VMC) or Common Mark Certificate (CMC) from a certified issuer.
# SPF record on example.com
"v=spf1 include:_spf.google.com include:sendgrid.net -all"
# DKIM record on s1._domainkey.example.com
"v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
# DMARC record on _dmarc.example.com
"v=DMARC1; p=reject; rua=mailto:agg@example.com; ruf=mailto:fwd@example.com; pct=100; aspf=r; adkim=r"
# BIMI record on default._bimi.example.com
"v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"
Layer 6: Sending identity (IPs and domains)
How you carve up your sending surface determines how reputation accrues.
- Shared IPs mean your sending sits inside a pool managed by your ESP. Reputation is partly inherited from other tenants. Best for senders under ~100K messages/month who would struggle to maintain a dedicated IP’s volume.
- Dedicated IPs belong only to you. Reputation is fully yours — for better and worse. Industry guidance from SendGrid, Mailgun, and Postmark consistently points to ~100K messages/month as the threshold where a dedicated IP starts to pay off.
- Subdomain strategy is non-negotiable at scale: separate
tx.example.com(transactional),news.example.com(marketing), andnotify.example.com(alerts) so a reputation problem in one stream doesn’t sink the others. The corporate domainexample.comshould generally not be a primary sending domain.
For senders running through Sender’s infrastructure rather than self-managing, how Sender maintains IP reputation across its sending infrastructure documents the pool composition, sender vetting, and proactive monitoring that drives shared-IP reputation outcomes.
Layer 7: Observability and feedback
The layer that tells you whether the other six are working.
- Google Postmaster Tools — domain and IP reputation, spam rate, authentication pass rates, encryption rate, delivery errors.
- Microsoft SNDS (Smart Network Data Services) — color-coded IP status, complaint rates, trap hits.
- Yahoo Postmaster — Complaint Feedback Loop (CFL) for Yahoo addresses.
- Aggregate DMARC reports (RUA) — daily XML reports of authentication results from every receiver.
- Feedback loops — Microsoft JMRP, Yahoo CFL, Google FBL (via Postmaster) deliver per-message complaint data so you can suppress complainers.
- Blocklist monitoring — MXToolbox, MultiRBL.valli.org against Spamhaus, Spamcop, SURBL, SORBS, UCEPROTECT.
The 2024 Yahoo & Google bulk sender requirements
No top-ranking guide on this keyword covers these in operational detail. This is the modern compliance floor.
Who is a “bulk sender”? Any sender shipping more than 5,000 messages per day to Gmail (or Yahoo) addresses. Crossing that threshold once historically can trigger enforcement.
What’s required:
| Requirement | Detail | Failure consequence |
SPF and DKIM aligned with From: domain | DMARC alignment, relaxed or strict | Inbox placement degradation, eventual rejection |
| DMARC published | Minimum p=none for Yahoo/Google; enforcement preferred | Bulk mail rejected at Gmail/Yahoo |
| One-click unsubscribe | List-Unsubscribe: <https://...>, <mailto:...> plus List-Unsubscribe-Post: List-Unsubscribe=One-Click (RFC 8058) | Bulk mail rejected; promotions throttled |
| Plain-text List-Unsubscribe in body | Visible unsubscribe link in every marketing message | Promotions tab demotion |
| Spam complaint rate < 0.3% | Postmaster userreportedspamratio over any 24-hour window | Throttling at 0.3%, severe at 0.5%+ |
| PTR / reverse DNS | Forward-confirmed reverse DNS on every sending IP | Connections rejected |
| TLS for transport | STARTTLS minimum; MTA-STS strongly recommended | Connections downgraded or rejected |
Validity and Litmus reporting through 2024 showed senders meeting every requirement holding above 90% inbox placement at Gmail and Yahoo, while senders failing one or more dropped below 60% in the months following enforcement. Microsoft has signaled similar requirements, and Apple’s Mail Privacy Protection already enforces parallel constraints.
# Example one-click unsubscribe headers (RFC 8058)
List-Unsubscribe: <https://example.com/u/abc123>, <mailto:unsub+abc123@example.com>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Build vs. buy vs. hybrid: the decision framework
When to build (self-managed)
- Strict data residency or sovereignty requirements — some defense, certain healthcare, certain regulated finance.
- Ultra-high volume — programs sending 500M+ messages/month where ESP per-message pricing exceeds in-house operating cost.
- Existing deliverability expertise on staff — at least one full-time engineer with MTA, DNS, and ISP-relationship experience.
Building means standing up Postfix or PowerMTA (or similar), provisioning IPs, managing reverse DNS with your network provider, running your own DKIM key rotation, parsing DMARC reports, maintaining ISP relationships, and absorbing the on-call burden when something breaks at 2 AM during a Black Friday spike.
When to buy (managed ESP)
Everyone else. SaaS, ecommerce, B2B, internal tools, agencies, and the long tail. Time to first send drops from months to hours when you call a fully managed email API that handles the seven layers for you — the ESP inherits ISP relationships, handles 2024-style compliance updates, and gives you observability and warmup tooling out of the box. Shared-IP reputation at low volume is also better than what a new dedicated IP would start with.
When hybrid makes sense
Enterprises with mixed needs. A common pattern: transactional mail on an in-house Postmark or Amazon SES stack with dedicated IPs; marketing on a separate ESP (SendGrid, Customer.io, Klaviyo) with its own subdomain and reputation. Regulated subsets that can’t leave the perimeter stay on-prem; everything else moves to managed.
TCO model
| Monthly volume | Build TCO (annual) | Buy TCO (annual) |
| 100K | ~$220K (1 FTE deliverability engineer + infra) | ~$1,000 (entry ESP plan) |
| 1M | ~$240K (1 FTE + scaled infra + dedicated IPs) | ~$10K–25K |
| 10M | ~$320K (1.5–2 FTE + multi-region infra) | ~$60K–120K |
| 100M | ~$600K–900K (small team + global infra) | ~$400K–800K |
| 500M+ | $1.2M+ (full team + custom MTA) | $2M+ (rate inversion) |
The break-even tends to land between 100M and 500M monthly messages. Below that, buy is cheaper and better. Above that, build math starts to work — but only with the right team in place.
Email type drives infrastructure choice
Not all email is the same, and the infrastructure that serves one type can poison another.
| Email type | Volume profile | IP strategy | Reputation strategy | Best-fit infrastructure |
| Transactional | 1–1 triggered, latency-sensitive | Dedicated IP at scale; subdomain isolation critical | Strict authentication, no marketing content | Postmark, Amazon SES, Mailtrap, in-house with dedicated IPs |
| Marketing | Bulk to consented subscribers, scheduled | Shared or dedicated based on volume | Engagement segmentation, aggressive sunset | SendGrid, Mailgun, Klaviyo, Customer.io, Brevo |
| Cold outreach | Low volume per inbox, many sending domains | Multi-domain rotation, low daily caps | Aggressive warmup, no shared reputation | Mailforge, Smartlead, Instantly, self-hosted with reputable relay |
Mixing these on a single domain is the most common infrastructure mistake. Send cold outreach from outreach.example.com, not from your primary corporate domain — and never from the same subdomain you use for transactional password resets.
Setting up email infrastructure: a 9-step playbook
This sequence works whether you’re building from scratch or hardening an existing program.
1. Choose your sending model. Build, buy, or hybrid based on the TCO and decision frameworks above. Commit before provisioning anything.
2. Register dedicated sending subdomains. At minimum: tx.example.com for transactional, news.example.com for marketing. Cold outreach gets its own domains entirely.
3. Configure DNS. Set MX records (recipient side), publish SPF (single record, watch the 10-lookup limit), publish DKIM with a 2048-bit key, and publish DMARC starting at p=none with rua= reporting enabled.
# Step 3 — minimal DNS set for a sending subdomain
# SPF record on news.example.com
"v=spf1 include:sendgrid.net -all"
# DKIM record on s1._domainkey.news.example.com
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhki..."
# DMARC record on _dmarc.news.example.com
"v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; pct=100"
4. Configure reverse DNS (PTR) on every sending IP. Required by Gmail and Yahoo bulk-sender rules. Coordinate with your network provider or ESP; some require an open ticket.
5. Implement RFC 8058 one-click unsubscribe. Add both List-Unsubscribe and List-Unsubscribe-Post headers to every marketing message. Also keep a visible unsubscribe link in the body.
6. Enroll in feedback loops. Sign up for Google Postmaster Tools (with TXT-record domain verification), Microsoft SNDS and JMRP for Outlook/Hotmail complaints, Yahoo’s Complaint Feedback Loop, and configure your DMARC rua= mailbox or a third-party aggregator (Dmarcian, Valimail, EasyDMARC).
7. Begin IP and domain warmup. Send engaged-only segments at increasing daily volume — schedule below. Domain warmup completes in ~2 weeks; IP warmup typically needs 30 days.
8. Progress DMARC policy. Once aggregate reports show >95% authentication alignment for 14+ days, move from p=none → p=quarantine → p=reject. Most programs reach enforcement in 60–90 days.
9. Add BIMI. Once DMARC is at enforcement, register a Verified Mark Certificate (VMC or CMC), host an SVG Tiny PS version of your logo at HTTPS, and publish the BIMI TXT record. The BIMI implementation guide that completes the authentication stack covers the SVG Tiny PS spec, VMC versus CMC, and the troubleshooting checklist when your logo doesn’t render. Gmail and Apple Mail will display the logo in subsequent sends.
IP and domain warmup schedule
Mailbox providers throttle unknown senders. Email warmup tells them you’re not a spammer — by demonstrating engaged recipients and consistent volume growth.
The standard 30-day warmup curve:
| Day | Target daily volume | Recommended segment |
| 1 | 50 | Most-engaged (opened in last 7 days) |
| 4 | 200 | Most-engaged |
| 7 | 1,000 | Engaged (opened in last 30 days) |
| 14 | 10,000 | Engaged + recent active |
| 21 | 50,000 | Active (90-day engagement) |
| 30 | 100,000+ | Full active list |
Two operational rules: never skip a step (a missed day means you stay at the prior volume, you don’t double up the next day), and never warm to a list with high inactivity — the resulting low engagement signal kills the warmup before it starts. Both Mailgun and SendGrid documentation recommend reaching steady-state volume in roughly 4–6 weeks for IP warmup.
Domain warmup is faster because the reputation builds on the sending domain rather than a specific IP, but the same volume-and-engagement curve applies in compressed form (~14 days).
Cost benchmarks across providers
Pricing changes constantly — use these as orders of magnitude, not quotes. Verify on the vendor’s pricing page before purchase.
| Provider | Free tier | Strength | Approx. price at 100K/mo | Approx. price at 1M/mo | Dedicated IP add-on |
| Amazon SES | 62K/mo from EC2 | Cheapest at scale, requires expertise | ~$10 | ~$100 | ~$25/mo |
| Postmark | Trial only | Transactional excellence | ~$115 | ~$700 | Included on higher tiers |
| Mailtrap | 1K/mo | Developer-first, test + send | ~$50 | ~$350 | Available on higher tiers |
| SendGrid | 100/day | Broad features, marketing + transactional | ~$90 | ~$500 | ~$80/mo |
| Mailgun | Trial only | Developer API, EU regions | ~$35 | ~$400 | ~$60/mo |
| Resend | 3K/mo | Modern dev experience | ~$20 | ~$200 | Available on higher tiers |
| Brevo (Sendinblue) | 300/day | Marketing-led | ~$25 | ~$200 | Available |
| Customer.io | Trial only | Behavioral marketing | ~$100+ | ~$1,000+ | Included |
For transactional-heavy programs, Postmark and Amazon SES dominate on deliverability and price respectively. For marketing-heavy, SendGrid and Customer.io anchor the upper end. For cost-sensitive teams with engineering bandwidth, Amazon SES with a thin in-house wrapper remains hard to beat.
Monitoring and incident response
A program without daily monitoring is one bad list import away from a multi-week recovery.
Daily checks — Google Postmaster spam rate, domain reputation, IP reputation, complaint volume from FBLs.
Weekly checks — DMARC aggregate report review (look for sources you didn’t authorize), Microsoft SNDS color status across all sending IPs, blocklist sweep via MXToolbox or MultiRBL, bounce rate trend.
Monthly checks — full deliverability audit, engagement segmentation review, sunset cohort processing, authentication record review, MTA-STS policy refresh.
Incident playbook (5 steps) when reputation drops or a blocklist event hits:
- Isolate the sending stream. Identify which subdomain or IP is degrading; suspend sending on that stream.
- Identify the signal. Postmaster spam rate spike, complaint surge, hard-bounce spike, blocklist hit — each points to a different root cause.
- Suppress the suspect segment. Engagement-based suppression, list cleaning, or full list quarantine depending on severity.
- Submit delisting requests where applicable (Spamhaus removal form, Microsoft Sender Support, Spamcop auto-expires).
- Rebuild via engaged warmup — restart at warmup Day 7–14 volume, engaged-only segments, daily ramp; monitor for 4–8 weeks before resuming normal volume.
Migrating between providers
The migration year-over-year failure mode is identical: teams cut over cold and lose 30–50% inbox placement in week one.
Pre-migration. Snapshot current reputation metrics (Postmaster, Sender Score, complaint rate, bounce rate). Export suppression lists from the outgoing provider — never reset them at cutover. Document current authentication records.
During migration. Provision a new sending subdomain (e.g., news2.example.com) on the new provider rather than re-pointing the existing subdomain. Split traffic 90/10 for week 1, 50/50 for week 2, 10/90 for week 3, then complete. Warm the new provider’s IPs concurrently. Validate DMARC alignment on the new stack with a p=none policy on the new subdomain at first.
Post-migration. Don’t immediately delete the old DNS records — leave them parked for 30 days in case of in-flight bounces or feedback. Monitor the new stack daily for the first month. If you used a temporary subdomain, plan the eventual move back to the canonical subdomain as a second, smaller migration once reputation is established.
Frequently asked questions
MTA is the role — the software responsible for transferring mail between servers. SMTP is the protocol it speaks. Postfix is an MTA; SMTP is the language Postfix uses to talk to another Postfix.
Only above roughly 100K messages per month, and only if you can sustain that volume consistently. Below that threshold, a dedicated IP starts cold with no reputation and your sending volume isn’t enough to build one. Shared IPs on a reputable ESP usually deliver better at low volume. The dedicated vs. shared IP breakdown for sizing your sending surface covers the volume math, subnet contagion risk, and the migration path between the two.
Buy: hours to a few days, plus 30 days of warmup. Build: 2–6 months for a production-grade self-managed stack, plus the same warmup window. The DNS and authentication setup itself is a one-day task; the rest is operationalizing it.
Technically yes, operationally no. Use separate subdomains — tx.example.com for transactional and news.example.com for marketing — so a reputation problem in one stream doesn’t take down password resets or order confirmations in the other.
It’s the RFC 8058 List-Unsubscribe-Post: List-Unsubscribe=One-Click header, paired with a List-Unsubscribe URL. Required by Gmail and Yahoo for bulk senders (5,000+ messages/day) since February 2024. The recipient unsubscribes in a single click; you must honor the request within 2 days.
For narrow use cases — strict data residency, ultra-high volume, regulated industries that can’t move email to the cloud — yes. For new programs, almost never the right call. The 2024 sender-rule updates added compliance work that ESPs absorb for free and in-house teams have to maintain themselves.
Four numbers tell the story. Google Postmaster spam rate below 0.1% (danger above 0.3%). Domain and IP reputation showing “High.” DMARC aggregate reports showing >95% authentication alignment. Inbox placement rate above 90% at major mailbox providers. If any of those four drift, intervene before the others follow.
For developers comfortable wiring infrastructure: Amazon SES paired with a small in-house wrapper. For teams that want it done: Resend, Postmark, or Mailtrap on entry plans. All three deliver well, all three handle the modern compliance layer, and none of them require infrastructure expertise on day one.
Final word
Email infrastructure used to be a stack of mail servers and DNS records. It is now a compliance floor — set by Gmail, Yahoo, and increasingly Microsoft and Apple — with a stack on top of it.
Senders who treat infrastructure as a setup task to finish once will keep losing inbox placement as the floor rises. Senders who treat email deliverability that demands monitoring as much as setup — daily Postmaster checks, monthly authentication reviews, quarterly architecture audits — will keep reaching the inbox while their competitors get junked.
The good news is the cost of doing this well has never been lower. The 2024 sender-rule updates pushed every reputable ESP to handle the new compliance layer automatically. Authentication tooling is mature. Warmup is well understood. The hard part is operational discipline: enforcing subdomain isolation, owning your DMARC reports, watching your numbers, and not shipping a marketing blast through your transactional subdomain because someone was in a hurry.
Get the seven layers right, satisfy the 2024 floor, monitor like it matters, and your email will reach the inbox. Skip any of those, and even the best copy in the world is shouting into the void.