Skip to content

필사 모드: Email Infrastructure 2026 — Resend · Postmark · SendGrid · Mailgun · AWS SES · Loops · React Email · MJML Deep Dive

English
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

Prologue — "They keep saying email is dead, so why does the infrastructure get more complex every year?"

Every year someone shouts that email is dead. Slack took internal communication, WhatsApp and KakaoTalk took personal messaging, Discord and Notion took communities. Yet in 2026 the overwhelming majority of SaaS businesses still send signup confirmations, payment receipts, password resets, marketing campaigns, and notifications through email.

If anything, it has gotten more complicated. In the 2010s you connected SMTP to SendGrid or Mailgun and called it done. In 2026 you face a decision tree like this.

1. Transactional, marketing, or notification — different tools.

2. Who owns SPF, DKIM, DMARC, and BIMI setup plus monitoring?

3. Warm up your own sending domain or rent a managed IP pool?

4. After Apple Mail Privacy Protection broke open tracking, what metric replaces it?

5. Build with React Email components, with MJML markup, or with visual editors like Stripo and Beefree?

6. Hand notification routing to Knock, Courier, or Novu, or build it yourself?

This piece draws the full map of 2026 email infrastructure: the transactional market split across Resend, Postmark, SendGrid, Mailgun, and AWS SES; the marketing space across Loops, Customer.io, Mailchimp, Klaviyo, Kit, and Beehiiv; notifications via Knock, Courier, and Novu; builders such as React Email, MJML, and Maizzle; plus deliverability, privacy, and compliance — all at once.

1 · Transactional vs Marketing vs Notification — Do Not Mix the Three

The first mistake a team starting with email makes is "one tool for everything." Transactional, marketing, and notification have different recipient expectations and require different reputation management.

| Category | Examples | Characteristics |

| --- | --- | --- |

| Transactional | Signup confirm, receipts, password reset, 2FA codes | 1:1, immediate, zero spam tolerance, requires high reputation |

| Marketing (broadcast) | Newsletters, promotions, campaigns | 1:N, scheduled, opt-in required, unsubscribe link mandatory |

| Notification | Digests, comment alerts, activity summaries | 1:1 but frequent, channel preferences (email, SMS, push) |

If you send all three from the same domain through the same tool, reputation collapses fast. A single marketing spam complaint surge can bury receipts in the spam folder too. Ops teams therefore separate sending subdomains.

| Purpose | Recommended subdomain | Tools |

| --- | --- | --- |

| Transactional | tx.example.com, mail.example.com | Postmark, Resend, AWS SES |

| Marketing | news.example.com, marketing.example.com | Loops, Mailchimp, Customer.io |

| Notification | notify.example.com | Knock, Courier (backend: SES, etc.) |

The principle is **reputation isolation**. When one side breaks, the other must remain safe.

2 · Deliverability Fundamentals — SPF · DKIM · DMARC · BIMI

What lands a message in the inbox versus the spam folder is not content — it is **authentication**. In 2026 the following four items are not optional.

1. **SPF (Sender Policy Framework)** — A TXT record on the domain stating "only these IPs are legitimate senders." Form: v=spf1 include:_spf.example.net ~all.

2. **DKIM (DomainKeys Identified Mail)** — A header signature. Receivers verify with the domain public key. 2048-bit recommended.

3. **DMARC (Domain-based Message Authentication, Reporting, and Conformance)** — Declares the policy (none / quarantine / reject) when SPF and DKIM fail, and emits reports to monitor spoofing attempts.

4. **BIMI (Brand Indicators for Message Identification)** — When DMARC is at reject and you hold a VMC (Verified Mark Certificate), the brand logo renders in the recipient UI. Gmail, Yahoo, and Apple Mail support it.

In February 2024 Gmail and Yahoo tightened policy: senders over 5,000 messages per month are required to set DMARC. By 2026 essentially every business sender needs DMARC quarantine or stronger.

; SPF

example.com. TXT "v=spf1 include:_spf.resend.com include:_spf.mailgun.org ~all"

; DKIM (selector provided by Resend)

resend._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIB..."

; DMARC

_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100; aspf=s; adkim=s"

; BIMI (with VMC certificate)

default._bimi.example.com. TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"

On top of this, **reverse DNS (PTR)** must match the forward domain, and **IP reputation** must be clean. When renting a managed IP pool rather than running your own, who else lives in the pool matters.

3 · Resend — 2023 Y Combinator, Developer-First Transactional

Resend launched in the Y Combinator W23 batch. The one-liner was "developer-first email API," and the small API surface drove fast adoption.

Core Traits

- A tiny API surface — start with a single POST /emails endpoint.

- First-class React Email integration — the open-source builder Resend authored. Write JSX components and send them directly.

- A clean domain authentication flow — the console proposes SPF, DKIM, and DMARC records in one place.

- Pricing — 100 per day free, Pro $20/month for 50,000.

- Multi-region (US, EU) for data residency.

Weaknesses

- Marketing (broadcast) features arrived later. For serious campaigns the Loops or Customer.io stack is stronger.

- At very high volume (over ten million per month), the cost advantage over running AWS SES directly shrinks.

// Resend SDK (Node.js)

const resend = new Resend(process.env.RESEND_API_KEY)

await resend.emails.send({

from: 'YJ Blog <noreply@tx.example.com>',

to: ['user@example.com'],

subject: 'Welcome',

react: WelcomeEmail({ name: 'Youngju' }),

})

4 · Postmark — Acquired by ActiveCampaign, Deliverability Leader

Postmark was acquired by ActiveCampaign in 2025 but the brand persists. Its market position has been consistent — **"transactional only, top of the class on deliverability."**

Core Traits

- Marketing sends are explicitly refused. Streams are split into transactional and broadcast.

- Average inbox delivery time is consistently seconds — ideal for receipts and codes.

- **Postmark DMARC Digest** — a free service that visualizes DMARC reports. Domain-spoofing monitoring is one click away.

- Templates and variable substitution are strong, Mustache style.

Weaknesses

- Pricey — about $50/month for 100K transactional. At scale the gap to SES is large.

- Marketing campaigns require a separate tool.

curl -X POST "https://api.postmarkapp.com/email" \

-H "Accept: application/json" \

-H "Content-Type: application/json" \

-H "X-Postmark-Server-Token: YOUR_TOKEN" \

-d '{

"From": "noreply@tx.example.com",

"To": "user@example.com",

"Subject": "Welcome",

"HtmlBody": "<h1>Hello</h1>",

"MessageStream": "outbound"

}'

5 · SendGrid — Under Twilio, Both Transactional and Marketing

After Twilio acquired SendGrid in 2019 it became a full-stack platform covering both transactional and marketing. By market share it is still number one.

Core Traits

- Both API and SMTP are supported — strong on legacy compatibility.

- A Marketing Campaigns module with segmentation, automation, and A/B testing.

- The Twilio SendGrid Email Validation API for pre-send validation.

- Global infrastructure — US, EU, and Japan regions.

- Automated IP warm-up — gradually heats new IPs over several days.

Weaknesses

- The console UX is, suitably for a full-stack platform, complex.

- Sending policy is strict, so cold start for a new account is harder.

- Pricing — 100/day free, Essentials from $19.95/month.

SendGrid Python SDK

from sendgrid import SendGridAPIClient

from sendgrid.helpers.mail import Mail

message = Mail(

from_email='noreply@tx.example.com',

to_emails='user@example.com',

subject='Welcome',

html_content='<h1>Hello</h1>')

sg = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))

response = sg.send(message)

6 · Mailgun — Under Sinch, Developer-Friendly API

Mailgun joined Sinch in 2021 and became part of the global communications group. Its niche: "lighter than SendGrid, with a cleaner developer API."

Core Traits

- HTTP API and SMTP both. Routing rules (inbound processing) are powerful too.

- The MJML2HTML compiler is maintained as open source (Mailgun-sponsored).

- Deliverability tools — Inbox Placement Testing, Send Time Optimization.

- Multi-region (US, EU) for data sovereignty.

- Pricing — Foundation from $35/month for 50K.

Weaknesses

- The UI is sparser than SendGrid. Fits teams who operate through the API.

- Marketing campaign tooling is weaker than SendGrid or Mailchimp.

curl -s --user 'api:YOUR_API_KEY' \

https://api.mailgun.net/v3/mail.example.com/messages \

-F from='Y. Kim <noreply@mail.example.com>' \

-F to=user@example.com \

-F subject='Welcome' \

-F html='<h1>Hello</h1>'

7 · AWS SES — Cheapest at Scale

Amazon Simple Email Service charges 0.10 USD per 1,000 messages. At scale there is no comparison. The trade-off: reputation management, bounce/complaint handling, and UI are all on you.

Core Traits

- Pricing — 0.10 USD per 1,000 sends. From EC2, the legacy 62,000/month free policy may still apply (check current state).

- SNS/SQS deliver bounces, complaints, and delivery events in near real time.

- Configuration Sets isolate sending domains and event streams.

- Multi-region — us-east-1, eu-west-1, ap-northeast-1, and more.

- Dedicated IP, IP Pool, and BYOIP (bring your own IP).

Weaknesses

- New accounts start in sandbox mode (verified recipients only). Production access is a separate request.

- Reputation, bounces, and UI are all your problem — operational cost relative to SaaS is non-trivial.

- The console has typical AWS density.

The standard pattern at scale is **"AWS SES + your own queue (SQS) + your own worker + Resend/Postmark as partial fallback."**

boto3 ses send_email

ses = boto3.client('ses', region_name='ap-northeast-1')

ses.send_email(

Source='noreply@tx.example.com',

Destination={'ToAddresses': ['user@example.com']},

Message={

'Subject': {'Data': 'Welcome'},

'Body': {'Html': {'Data': '<h1>Hello</h1>'}},

},

ConfigurationSetName='tx-config',

)

8 · Self-Hosting — Postal · Listmonk · Plunk · Maileroo

Self-hosted options are alive for regulated environments where you cannot use managed services, or when cost matters.

| Tool | Trait | Fits |

| --- | --- | --- |

| Postal | A self-hosted SMTP gateway in Ruby | Teams running their own infra |

| Listmonk | A single-binary newsletter app in Go | Newsletters, marketing |

| Plunk | Open-source SaaS alternative | Transactional plus campaigns |

| Maileroo | Managed plus self-hosted hybrid | High-volume sending |

| Maileon | EU data sovereignty first | EU regulated environments |

| Notification Hub | Self-hosted notification channel manager | Communities, open source |

The structural limit of self-hosting is **IP reputation**. Big-tech mail services auto-suspect new IPs. Even on self-hosted setups, renting an IP with established reputation from an external transactional service is common.

9 · Marketing — Mailchimp · Loops · Customer.io

The marketing (broadcast) market is dominated by a completely different toolset.

| Tool | Position | Strength | Pricing (approx) |

| --- | --- | --- | --- |

| Mailchimp | Under Intuit, market leader | Templates, automation, analytics | 2,500 contacts $20/month |

| Loops | YC W23, modern campaigns | API-first, triggered automation | 1,000 contacts free |

| Customer.io | Behavior trigger focus | Event-driven campaigns | From $100/month |

| Kit (formerly ConvertKit) | Creator-focused | Landing pages, subscriber mgmt | From $9/month |

| Beehiiv | Newsletter focus | Referrals, monetization | Free to start |

| Substack | Paid newsletters | Payments and subs built in | 10 percent of revenue |

| Klaviyo | E-commerce | Shopify integration, segments | From $20/month |

| HubSpot | Marketing automation | CRM integration | Marketing Hub $20/month |

| MailerLite | Budget alternative | Cost efficiency | 1,000 subs free |

Two trends shape 2026. The first: **"campaigns as code"** — Loops and Customer.io binding automation to your code base via APIs and triggers. The second: **creator economy** — the territory Beehiiv, Substack, and Kit have taken.

// Loops API — event-triggered campaign

await fetch('https://app.loops.so/api/v1/events/send', {

method: 'POST',

headers: {

'Authorization': 'Bearer ' + process.env.LOOPS_KEY,

'Content-Type': 'application/json',

},

body: JSON.stringify({

email: 'user@example.com',

eventName: 'signup_completed',

eventProperties: { plan: 'pro' },

}),

})

10 · Notification Orchestration — Knock · Courier · Novu

Notifications are not plain email. Per-user channel preferences (email, SMS, push, in-app), frequency control, digesting, and time-zone handling all matter. Build it yourself and it becomes its own microservice.

| Tool | Position | Trait |

| --- | --- | --- |

| Knock | Notification orchestration SaaS | Workflows, digest, channel routing |

| Courier | Multi-channel notifications | Channel routing, template unification |

| Novu | Open-source notification infrastructure | Self-hostable |

| One Signal | Push-first plus email | Strong on mobile push |

The typical pattern: "backend emits an event → Knock workflow → per user preference, email via Resend, push via FCM, SMS via Twilio." Frequency control and digesting (bundling many events into one email) are the value.

// Knock workflow trigger

await knock.workflows.trigger('new-comment', {

recipients: ['user_123'],

data: {

comment: 'Great post!',

author: 'Alice',

post_title: 'Email Infra 2026',

},

})

11 · Email Builders — React Email · MJML · Maizzle

Email HTML in 2026 still carries the Outlook compatibility baggage from 1996. Three families abstract over the pain.

React Email (Resend-sponsored)

- Compose emails as React components.

- The @react-email/components package ships Button, Hr, Img, Container, and more.

- First-class Resend SDK integration — pass `react: <Welcome />` and send.

- Built-in preview server — pnpm dev for local preview.

MJML (Mailjet-sponsored)

- An XML-like markup compiled to compatible HTML.

- Responsive by default — handles Outlook 2007/2010 automatically.

- Many visual editors (Stripo, Topol) use MJML under the hood.

Maizzle

- Style email with Tailwind CSS.

- Inlines CSS at build time.

- Component slots and environment-specific build options.

Visual Editors

- Stripo, Beefree, Topol, Postcards — drag and drop with HTML or MJML export.

// React Email component

export function WelcomeEmail({ name }: { name: string }) {

return (

)

}

<!-- MJML markup -->

12 · Rendering QA — Outlook's Nightmare, Litmus, Email on Acid

Email clients vary far more than web browsers. Gmail, Apple Mail, Outlook (especially Windows Outlook 2007/2010/2013/2016/2019), Yahoo Mail, ProtonMail, mobile Gmail, and mobile Outlook all render the same HTML differently.

| Tool | Trait | Pricing |

| --- | --- | --- |

| Litmus | Screenshots across 50+ clients | Plus from $79/month |

| Email on Acid | 90+ clients plus accessibility checks | Basic from $86/month |

| Hsoob Email Preview | Budget alternative | Free to start |

| Mailtrap | Developer SMTP sandbox plus preview | Free to start |

Windows desktop Outlook uses the Word rendering engine, so CSS Flexbox, Grid, and absolute positioning are useless. That is why email HTML is table-based. MJML and React Email generate such table-based structure automatically.

13 · DMARC Monitoring — Postmark Digest · DMARCian · EasyDMARC

Once DMARC is at quarantine or reject, violation reports arrive daily. Nobody should read them as raw XML. Use a visualizer.

| Tool | Trait |

| --- | --- |

| Postmark DMARC Digest | Free, weekly summary email |

| DMARCian | Oldest SaaS, free tier |

| ValiMail | Enterprise, also handles MTA-STS and BIMI |

| EasyDMARC | Budget-friendly, multi-domain mgmt |

| OnDMARC (Red Sift) | UK security company, automation |

The standard playbook is staged tightening: start with p=none and collect reports for 30 days; if there are no violations, raise to p=quarantine; once stable, finish at p=reject.

14 · Apple Mail Privacy Protection — Death of Open Rate

When Apple Mail Privacy Protection arrived in 2021, tracking pixels were effectively neutralized. Apple Mail prefetches messages in the background, so open rate reads as 100 percent or loses meaning. As of 2026, Apple Mail accounts for roughly 50 percent globally.

Alternative metrics:

| Deprecated metric | Alternative |

| --- | --- |

| Open rate | Click-through rate, reply rate |

| Time of open | Time of click |

| Device (open-based) | Device (click-based) |

| Pixel-based A/B | Click and conversion-based A/B |

Marketing tools added options too — "open rate correction (exclude Apple Mail)". Customer.io, Loops, and Mailchimp all support it.

15 · Regulation — CAN-SPAM · GDPR · CASL · K-PIPA · APPI

Email is inherently cross-border, so multiple regulations must be satisfied at once.

| Regulation | Region | Core obligations |

| --- | --- | --- |

| CAN-SPAM | US | Unsubscribe link, sender address, no false headers |

| GDPR | EU | Explicit opt-in, consent records, right to delete |

| CASL | Canada | Explicit opt-in, opt-out within 10 days |

| K-PIPA | South Korea | Mark advertising with the tag, separate consent for nighttime sends |

| APPI | Japan | Opt-in principle, response to correction and stop-of-use requests |

| LGPD | Brazil | GDPR-like |

If you operate to the tightest standard (K-PIPA), most other regions pass. For advertising mail, mark the subject as advertising, include sender info, an opt-out method, and explicit nighttime-send consent.

16 · Warm-Up — The First 30 Days for a New Domain or IP

Big-tech mail services auto-suspect a new domain or IP. The first days require gradual volume ramp — warm-up.

Warm-up tools:

- Mailwarm — automated sends and replies to accumulate reputation.

- Lemwarm — from the Lemlist family.

- Mailflow — budget-friendly.

- SendGrid and Mailgun automated IP warm-up.

A typical 30-day schedule:

- Day 1-3: 50 per day.

- Day 4-7: 200 per day.

- Day 8-14: 1,000 per day.

- Day 15-30: 5,000-50,000 per day.

During warm-up, send first to the most engaged users (clickers within the last 30 days). Warming up with a cold list damages reputation further.

17 · South Korea — KakaoTalk Biz Message · Naver Works

In Korea email alone is insufficient. Notifications via KakaoTalk, authentication via SMS, and marketing as email plus AlimTalk together form the standard combo.

| Channel | Tool | Trait |

| --- | --- | --- |

| KakaoTalk AlimTalk | Kakao Biz Message | Informational, free or low cost |

| KakaoTalk FriendTalk | Kakao Biz Message | Advertising, opt-in mandatory |

| Naver Works | LINE WORKS Korea | Enterprise collaboration plus mail |

| Daum Cafe newsletter | Under Kakao | Community newsletters |

| Mailply, Stibee | Korean newsletter SaaS | Korean UI, K-PIPA compliance |

AlimTalk is strong for authentication codes and payment notifications. But only pre-registered templates are allowed, and content classified as advertising is downgraded to FriendTalk.

18 · Japan — SendGrid Japan · Sakura · Mailgun JP

Email retains a much higher share in Japan than in Korea. Business communication, internal announcements, and B2B sales remain email-centric.

| Tool | Trait |

| --- | --- |

| SendGrid Japan | Japan region, Japanese support, JCB billing |

| Sakura Internet | Japanese cloud plus mail hosting |

| Sakura Mailbox | Domain-based mailboxes |

| Mailgun Japan | Japan office |

| Cuenote FC | Japanese marketing email SaaS |

| Benchmark Email Japan | Japanese marketing |

A Japan specifics: carrier-run mail (docomo, KDDI, SoftBank) is still alive and applies its own spam filters. Monitoring delivery into docomo, au, and SoftBank inboxes separately is standard for Japan-domain sends.

19 · Cold Email — Apollo · Instantly · Smartlead · lemlist

Sales cold email has a different strategy from transactional and marketing — very low volume, high personalization. Tools are separate too.

| Tool | Trait |

| --- | --- |

| Apollo.io | Database plus sequence automation |

| Instantly | Multi-inbox rotation |

| Smartlead | Warm-up plus sequences |

| lemlist | Image personalization |

| Outreach.io | Enterprise sales sequences |

| Salesloft | Enterprise sales |

Cold email has no opt-in, which collides head-on with GDPR, CASL, and K-PIPA. Sending cold mail into the EU, Korea, or Canada is risky, and your sending domain's reputation drops fast. Cold-email sending domains are therefore always separated from the main domain.

20 · Architecture Pattern — API to Queue to Worker to Gateway

The standard pattern of a high-volume sending system looks like this.

[Application API]

| send_email(to, template, vars)

v

[Message Queue (SQS / Kafka / RabbitMQ)]

| backpressure, retries, priority

v

[Email Worker Pool]

| rendering, variable substitution, rate limits

v

[Gateway (SES / Resend / SendGrid)]

|

+-> success -> [event log / analytics]

+-> bounce -> [SNS / webhook -> handler]

\-> complaint -> [blocklist add / DLQ]

Design principles:

1. **Queue separation** — transactional, marketing, and notification on separate queues. When one stalls, others keep flowing.

2. **Blocklist** — auto-remove bounce and complaint addresses. Re-sending to them collapses reputation.

3. **DLQ (dead letter queue)** — failed sends move to a side queue for analysis.

4. **Rate limits** — per-gateway and per-domain hourly caps applied at the worker.

5. **Multi-gateway failover** — if the primary gateway goes down, switch to a secondary, such as Resend to SES.

6. **Event log** — every send, open, click, and bounce event lands in an analytics database.

21 · What Should Your Team Pick

Recommendations by workload, compressed once more.

| Situation | Recommendation |

| --- | --- |

| MVP transactional | Resend or Postmark — both start fast |

| Under 100K per month | Postmark (deliverability) or Resend (React Email integration) |

| Over ten million per month | AWS SES plus your own queue and reputation management |

| B2C marketing | Mailchimp or Klaviyo (commerce), Loops (SaaS) |

| Behavior-triggered campaigns | Customer.io |

| Creator newsletter | Beehiiv or Substack |

| Multi-channel notifications | Knock or Courier |

| Open-source notifications | Novu |

| Korea market | Email (Resend / SES) plus KakaoTalk AlimTalk plus Stibee |

| Japan market | SendGrid Japan plus Sakura plus per-carrier monitoring |

Attempts to unify on a single tool almost always fail. Separate transactional, marketing, and notification, pick the right tool for each, and combine them. That is the 2026 answer.

References

- Resend Docs — https://resend.com/docs

- Postmark Docs — https://postmarkapp.com/developer

- SendGrid Docs — https://docs.sendgrid.com/

- Mailgun Docs — https://documentation.mailgun.com/

- AWS SES Developer Guide — https://docs.aws.amazon.com/ses/

- Loops Docs — https://loops.so/docs

- Customer.io Docs — https://customer.io/docs/

- Knock Docs — https://docs.knock.app/

- Courier Docs — https://www.courier.com/docs/

- Novu Docs — https://docs.novu.co/

- React Email — https://react.email/

- MJML — https://mjml.io/

- Maizzle — https://maizzle.com/

- DMARC.org — https://dmarc.org/

- BIMI Group — https://bimigroup.org/

- Postmark DMARC Digest — https://dmarc.postmarkapp.com/

- DMARCian — https://dmarcian.com/

- EasyDMARC — https://easydmarc.com/

- Apple Mail Privacy Protection — https://support.apple.com/en-us/HT212614

- Gmail Sender Guidelines 2024 — https://support.google.com/mail/answer/81126

- Litmus — https://www.litmus.com/

- Email on Acid — https://www.emailonacid.com/

- KISA K-PIPA Guidelines — https://www.kisa.or.kr/

- Beehiiv — https://www.beehiiv.com/

- Substack — https://substack.com/

- Kit (formerly ConvertKit) — https://kit.com/

- Klaviyo — https://www.klaviyo.com/

현재 단락 (1/334)

Every year someone shouts that email is dead. Slack took internal communication, WhatsApp and KakaoT...

작성 글자: 0원문 글자: 20,188작성 단락: 0/334