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; chained include: 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 from p=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=quarantine or p=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), and notify.example.com (alerts) so a reputation problem in one stream doesn’t sink the others. The corporate domain example.com should 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:

RequirementDetailFailure consequence
SPF and DKIM aligned with From: domainDMARC alignment, relaxed or strictInbox placement degradation, eventual rejection
DMARC publishedMinimum p=none for Yahoo/Google; enforcement preferredBulk mail rejected at Gmail/Yahoo
One-click unsubscribeList-Unsubscribe: <https://...>, <mailto:...> plus List-Unsubscribe-Post: List-Unsubscribe=One-Click (RFC 8058)Bulk mail rejected; promotions throttled
Plain-text List-Unsubscribe in bodyVisible unsubscribe link in every marketing messagePromotions tab demotion
Spam complaint rate < 0.3%Postmaster userreportedspamratio over any 24-hour windowThrottling at 0.3%, severe at 0.5%+
PTR / reverse DNSForward-confirmed reverse DNS on every sending IPConnections rejected
TLS for transportSTARTTLS minimum; MTA-STS strongly recommendedConnections 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 volumeBuild 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 typeVolume profileIP strategyReputation strategyBest-fit infrastructure
Transactional1–1 triggered, latency-sensitiveDedicated IP at scale; subdomain isolation criticalStrict authentication, no marketing contentPostmark, Amazon SES, Mailtrap, in-house with dedicated IPs
MarketingBulk to consented subscribers, scheduledShared or dedicated based on volumeEngagement segmentation, aggressive sunsetSendGrid, Mailgun, Klaviyo, Customer.io, Brevo
Cold outreachLow volume per inbox, many sending domainsMulti-domain rotation, low daily capsAggressive warmup, no shared reputationMailforge, 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=nonep=quarantinep=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:

DayTarget daily volumeRecommended segment
150Most-engaged (opened in last 7 days)
4200Most-engaged
71,000Engaged (opened in last 30 days)
1410,000Engaged + recent active
2150,000Active (90-day engagement)
30100,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.

ProviderFree tierStrengthApprox. price at 100K/moApprox. price at 1M/moDedicated IP add-on
Amazon SES62K/mo from EC2Cheapest at scale, requires expertise~$10~$100~$25/mo
PostmarkTrial onlyTransactional excellence~$115~$700Included on higher tiers
Mailtrap1K/moDeveloper-first, test + send~$50~$350Available on higher tiers
SendGrid100/dayBroad features, marketing + transactional~$90~$500~$80/mo
MailgunTrial onlyDeveloper API, EU regions~$35~$400~$60/mo
Resend3K/moModern dev experience~$20~$200Available on higher tiers
Brevo (Sendinblue)300/dayMarketing-led~$25~$200Available
Customer.ioTrial onlyBehavioral 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:

  1. Isolate the sending stream. Identify which subdomain or IP is degrading; suspend sending on that stream.
  2. Identify the signal. Postmaster spam rate spike, complaint surge, hard-bounce spike, blocklist hit — each points to a different root cause.
  3. Suppress the suspect segment. Engagement-based suppression, list cleaning, or full list quarantine depending on severity.
  4. Submit delisting requests where applicable (Spamhaus removal form, Microsoft Sender Support, Spamcop auto-expires).
  5. 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

What’s the difference between an MTA and an SMTP server?

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.

Do I need a dedicated IP?

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.

How long does it take to set up email infrastructure from scratch?

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.

Can I send transactional and marketing email from the same domain?

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.

What is one-click unsubscribe and is it required?

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.

Is on-premises email infrastructure still viable in 2026?

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.

How do I know my email infrastructure is working?

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.

What’s the cheapest reliable email infrastructure for a startup?

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.