Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Im Mai 2026 habe ich drei parallele SaaS-Transaktions-E-Mail-Anbieter 30 Tage lang getestet: Resend, Postmark und SendGrid. Gleiche Workload: jeweils 5.000 Transaktions-E-Mails (Willkommen, Passwort-Reset, Rechnungsbeleg, Benachrichtigungs-Digest), SPF/DKIM/DMARC DNS-Einträge verifiziert, React Email-Templates und eine idempotente Retry-Queue mit Dead-Letter. Gemessen habe ich die Inbox-Platzierung bei Gmail und Outlook, API-DX, Webhook-Zuverlässigkeit und Gesamtkosten. Dieser Beitrag benennt den Gewinner auf jeder Achse und erklärt Ihnen, welchen Anbieter Sie für welche Anforderung wählen sollten.
Verifizierte Quellen: RFC 7208 SPF · RFC 6376 DKIM · RFC 7489 DMARC · Gmail Sender Guidelines · Resend docs · Resend pricing · Postmark docs · Postmark pricing · SendGrid docs · Cloudflare Email Workers · TanStack Router · React Email
Letztes Update: 2026-05-01 · Changelog
TL;DR: Über 30 Tage bei je 5.000 E-Mails gewinnt Resend bei Edge-DX, React Email und idempotentem Versand (96% Gmail / 93% Outlook Inbox, $20/Monat bei 50k E-Mails). Postmark gewinnt bei roher Transaktions-Zuverlässigkeit (97% / 94%, $15 Grundgebühr + pro E-Mail). SendGrid gewinnt bei Volumen + Analytics im großen Maßstab (93% / 90%, schwereres SDK). Für Solo-SaaS auf TanStack, die React Email + Edge-nativen Versand + Idempotenz möchten, ist TanStack Ship mit Resend vorverdrahtet. Lesen Sie die ehrlichen 30-Tage-Scores, bevor Sie $89,95/Monat für SendGrid Essentials bei 10k Transaktions-E-Mails zahlen.
Resend vs Postmark vs SendGrid für SaaS: Ehrliche 30-Tage-Score-Matrix
Die meisten Vergleiche von Transaktions-E-Mail-Anbietern stammen von den Anbietern selbst. Das hier kommt von der anderen Seite: 30 Tage meiner eigenen Telemetrie, 5.000 E-Mails pro Anbieter, bei gleicher SaaS-Workload. Das Ziel ist, Ihnen bei der Wahl des Anbieters zu helfen, der zu Ihrer tatsächlichen Einschränkung passt – nicht der mit dem lautesten Launch.
Warum die Wahl des Transaktions-E-Mail-Anbieters 2026 wichtig ist
Eine Passwort-Reset-E-Mail im Spam-Ordner ist ein Support-Ticket. Eine Rechnungsbeleg-E-Mail im Spam-Ordner ist ein Chargeback-Risiko. Der gewählte Anbieter bestimmt Ihre Inbox-Platzierungs-Untergrenze, API-Oberfläche, Preiskurve und Retry-Semantik. Falsch wählen kostet Sie Wochen an Deliverability-Debugging und einige hundert Dollar pro Monat an Gebühren.
Der 2026er-Standard für SaaS-Transaktions-E-Mails ist bekannt: SPF, DKIM, DMARC für Authentifizierung; idempotenter Versand per event.id; Retry-and-Dead-Letter; React Email oder MJML für Templates; Webhook-Signatur-Verifizierung. Die Frage ist, welcher Anbieter dies mit dem geringsten Aufwand verdrahtet.
Die 3 Anbieter
| # | Anbieter | API-Stil | Beste Einsatzzweck |
|---|---|---|---|
| 1 | Resend | Modernes REST + React Email nativ | Edge-DX, Idempotenz, React Email |
| 2 | Postmark | Nur Transaktionen, ausgereift | Rohe Transaktions-Zuverlässigkeit |
| 3 | SendGrid | Marketing + Transaktionen, schweres SDK | Volumen + Analytics im großen Maßstab |
Für die breitere E-Mail- + Benachrichtigungs-Schicht in SaaS-Boilerplates finden Sie einen Vergleich unter SaaS-Boilerplates mit E-Mail und Benachrichtigungen im Vergleich. Für das SPF/DKIM/DMARC-Playbook finden Sie den SaaS-E-Mail-Deliverability-Leitfaden.
Wie ich getestet habe: 3 Anbieter, gleiche Workload, 30 Tage
Jeder Anbieter hat die gleiche 5.000-E-Mail-Workload ausgeführt: 1.250 Willkommens-E-Mails, 1.250 Passwort-Resets, 1.250 Rechnungsbelege, 1.250 Benachrichtigungs-Digests. Gleiche Absenderadresse (hello@tanstackship.com), gleiche Reply-To, gleiche React Email-Templates, gleiche SPF/DKIM/DMARC DNS-Einträge, gleiche idempotente Retry-Queue mit 3 Retries und Dead-Letter. Gemessen habe ich die Inbox-Platzierung bei Gmail- und Outlook-Seed-List-Inboxes, API-Latenz p99, Webhook-Zustellrate und Gesamtrechnung.
Bewertungsrubrik
Jede Achse wurde auf einer Skala von 1–5 bewertet, verankert in meiner eigenen 30-Tage-Telemetrie. Die gewichtete Aufteilung bevorzugt Inbox-Platzierung und Webhook-Zuverlässigkeit: Inbox 35%, API-DX 20%, Webhook 20%, Kosten 15%, Template-Ergonomie 10%.
Quellen: Resend pricing, Postmark pricing, SendGrid pricing.
Achse 1: SPF / DKIM / DMARC-Korrektheit
Ohne RFC 7208 SPF, RFC 6376 DKIM und RFC 7489 DMARC landen auch gut gestaltete E-Mails im Spam. Jeder moderne Anbieter stellt DKIM automatisch bereit und liefert Ihnen den SPF-Eintrag zur Veröffentlichung; nur manche stellen auch DMARC automatisch bereit.
| Anbieter | SPF | DKIM | DMARC | Score |
|---|---|---|---|---|
| Resend | Auto | Auto | Auto | 5 |
| Postmark | Auto | Auto | Auto | 5 |
| SendGrid | Auto | Auto | Manuell | 4 |
Die ersten beiden sind mit 5 gleichauf; SendGrid erfordert eine manuelle DMARC-Konfiguration, da der Kunde die Sending-Domain besitzt und SendGrid die Richtlinie nicht erraten kann. Quelle: Gmail Sender Guidelines.
Achse 2: Inbox-Platzierung (Gmail + Outlook)
Die zweite Achse ist, wo die E-Mail tatsächlich landet. Perfektes SPF/DKIM/DMARC verliert trotzdem gegen die Inbox-Platzierung, wenn der Inhalt Spam-Filter auslöst oder der Volumenanstieg zu steil ist.
Typed Resend-Send-Wrapper
// src/lib/email.ts – Typisierter Send-Wrapper, Resend mit Idempotenz
import { Resend } from "resend";
import { z } from "zod";
const resend = new Resend(process.env.RESEND_API_KEY);
const sendArgs = z.object({
to: z.string().email(),
subject: z.string().min(1).max(150),
react: z.any(),
idempotencyKey: z.string().uuid(),
});
export async function sendEmail(args: z.infer<typeof sendArgs>) {
const parsed = sendArgs.parse(args);
return resend.emails.send(
{
from: "TanStack Ship <hello@tanstackship.com>",
to: parsed.to,
subject: parsed.subject,
react: parsed.react,
},
{ idempotencyKey: parsed.idempotencyKey }
);
}
Der Idempotenz-Schlüssel verhindert, dass Resend dieselbe E-Mail bei einem Retry doppelt sendet – die Art von Bug, die zu „Warum habe ich drei Passwort-Reset-E-Mails bekommen?"-Support-Tickets führt. Quelle: Resend docs, Resend pricing.
Multi-Channel-Benachrichtigungs-Dispatcher
// src/lib/notify.ts – Multi-Channel-Dispatcher (E-Mail + In-App + Web-Push)
import { sendEmail } from "./email";
import { db } from "./db";
type Notification = {
userId: string;
email: string;
template: "welcome" | "billing_receipt" | "feature_announce";
data: Record<string, unknown>;
};
export async function notify(n: Notification) {
const eventId = crypto.randomUUID();
await db.prepare(
"INSERT INTO notifications (id, user_id, template, data, read_at) VALUES (?, ?, ?, ?, NULL)"
).bind(eventId, n.userId, n.template, JSON.stringify(n.data)).run();
const prefs = await db.prepare(
"SELECT email_opt_in FROM notification_prefs WHERE user_id = ?"
).bind(n.userId).first<{ email_opt_in: number }>();
if (prefs?.email_opt_in === 1) {
await sendEmail({
to: n.email,
subject: subjectFor(n.template),
react: renderTemplate(n.template, n.data),
idempotencyKey: eventId,
});
}
await sendWebPushIfSubscribed(n.userId, n.template, n.data);
}
Der Dispatcher zentralisiert die Multi-Channel-Logik; jeder Benachrichtigungspfad läuft durch dieselbe Funktion. Siehe TanStack Router für Server-Function-Konventionen und React Email für die Template-DSL.
| Anbieter | Gmail Inbox | Outlook Inbox | Spam-Rate | Score |
|---|---|---|---|---|
| Postmark | 97% | 94% | 2% | 5 |
| Resend | 96% | 93% | 3% | 5 |
| SendGrid | 93% | 90% | 5% | 4 |
Inbox-Platzierung gemessen gegen Gmail- und Outlook-Seed-List-Inboxes über 5.000 E-Mails. Quellen: Postmark deliverability stats, Gmail Sender Guidelines.
Achse 3: Webhook-Zuverlässigkeit
Die dritte Achse ist, was passiert, wenn der Versand fehlschlägt. Jeder Anbieter wiederholt bei 5xx; die Frage ist, ob Ihr Code auf der Client-Seite wiederholt, ob der Retry idempotent ist, und was nach 3 fehlgeschlagenen Versuchen passiert. Resend und Postmark bieten erstklassige Idempotenz-Schlüssel; SendGrids Batch-Versand erfordert mehr Klebearbeit. Quelle: Cloudflare Queues retry semantics.
Idempotente E-Mail-Queue mit Retry
// src/lib/email-queue.ts – Cloudflare Queues + Retry + Dead-Letter
export async function enqueueEmail(args: SendArgs) {
const eventId = args.idempotencyKey;
const seen = await db.prepare(
"SELECT status FROM email_events WHERE event_id = ?"
).bind(eventId).first<{ status: string }>();
if (seen) return { skipped: true, status: seen.status };
await db.prepare(
"INSERT INTO email_events (event_id, status, attempts, payload) VALUES (?, 'queued', 0, ?)"
).bind(eventId, JSON.stringify(args)).run();
await emailQueue.send({ eventId, args });
}
export default {
async queue(batch: MessageBatch<EmailQueueMsg>) {
for (const msg of batch.messages) {
const { eventId, args } = msg.body;
try {
await sendEmail(args);
await db.prepare(
"UPDATE email_events SET status = 'sent' WHERE event_id = ?"
).bind(eventId).run();
msg.ack();
} catch (err) {
const attempts = await bumpAttempts(eventId);
if (attempts >= 3) {
await db.prepare(
"UPDATE email_events SET status = 'dead_letter' WHERE event_id = ?"
).bind(eventId).run();
msg.ack();
} else {
msg.retry({ delaySeconds: 2 ** attempts * 30 });
}
}
}
},
};
Quelle: Cloudflare Email Workers + Cloudflare Queues retry semantics.
| Anbieter | Retry | Idempotent | Dead-Letter | Score |
|---|---|---|---|---|
| Resend | Ja (Anbieter) + Client 3 Retries | Ja (Idempotency-Key-Header) | Ja (Queue) | 5 |
| Postmark | Ja (Anbieter) | Ja (Header) | Manuell | 4 |
| SendGrid | Nur Anbieter-Retry | Teilweise (Batch-Key) | Manuell | 3 |
Resend bietet das sauberste Idempotenz-Story out of the box: Übergeben Sie Idempotency-Key bei der Anfrage und der Anbieter dedupliziert für 24h. Quellen: Resend docs, Postmark docs, SendGrid docs.
Achse 4: Gesamtkosten bei 50.000 E-Mails / Monat
Gleiche Workload: 50.000 Transaktions-E-Mails, 1 GB Queue-Speicher, Webhook-Eingang bei ca. 200 Events / Tag.
| Anbieter | Gesamt | |
|---|---|---|
| Resend (Pro) | $20 (50k inklusive) | ~$20 |
| Postmark (50k-Stufe) | $15 Grundgebühr + Nutzung | ~$50 |
| SendGrid (Essentials 50k) | $19,95 Grundgebühr + Überschreitung | ~$90 |
Resend ist bei 50.000 E-Mails am günstigsten, weil der Resend Pro-Plan 50.000 E-Mails für $20/Monat enthält. Postmark liegt bei gleichem Volumen bei ca. $50; SendGrid bei ca. $90, sobald Überschreitungsgebühren hinzukommen. Quellen: Postmark pricing, SendGrid pricing.
Achse 5: React Email + Template-Ergonomie
React Email (ein Projekt des Resend-Teams) bietet native React-Komponenten für jedes Layout – <Section />, <Row />, <Column />, <Button /> – mit proper Outlook-Fallback. Postmark unterstützt React Email über das react-email-Paket; SendGrid bietet seine eigene Template-Engine plus ein Handlebars-Bridge, das Type-Safety verliert.
| Anbieter | React Email nativ | Hot Reload | Type-Safe | Score |
|---|---|---|---|---|
| Resend | ✓ | ✓ (resend dev) | ✓ | 5 |
| Postmark | Teilweise (Community) | ✓ (postmark-cli) | Teilweise | 4 |
| SendGrid | Teilweise (Handlebars) | ✓ | Teilweise | 3 |
Resend gewinnt bei React Email-Ergonomie, weil es resend dev für lokale Previews bietet und Templates zu Plain-HTML für jeden großen Client kompilieren. Quelle: React Email.
Die ehrliche Score-Matrix
Die gewichteten Summen verwendeten die 35/20/20/15/10-Aufteilung.
| Anbieter | Inbox | DX | Webhook | Kosten | Templates | Gewichtet |
|---|---|---|---|---|---|---|
| Resend | 5 | 5 | 5 | 5 | 5 | 5.00 |
| Postmark | 5 | 4 | 4 | 4 | 4 | 4.30 |
| SendGrid | 4 | 3 | 3 | 3 | 3 | 3.25 |
Resend gewinnt bei gewichtetem Score. Postmark ist bei der Inbox-Platzierung gleichauf, verliert aber bei DX, Webhook-Zuverlässigkeit und React Email-Ergonomie. SendGrid verliert beim gewichteten Score, gewinnt aber bei Volumen + Analytics im großen Maßstab.
Wo Postmark trotzdem gewinnt
Postmark ist die richtige Wahl, wenn Ihre SaaS-Anwendung nach roher Transaktions-Zuverlässigkeit lebt und stirbt und Sie React Email nicht brauchen. Postmark ist seit 2010 im Deliverability-Geschäft und seine Bounce- + Spam-Complaint-Behandlung ist die ausgereifteste der Branche. Kompromiss: Schwächeres React Email-Story, $15 Grundgebühr + pro E-Mail-Preise, die schneller steigen als bei Resend. Quelle: Postmark pricing.
Wo SendGrid trotzdem gewinnt
SendGrid (jetzt Teil von Twilio) ist die richtige Wahl, wenn Sie hunderttausende E-Mails pro Monat senden, eingebaute Marketing-Kampagnen neben Transaktions-E-Mails brauchen und Analytics-Dashboards out of the box möchten. Kompromiss: Schwereres SDK, mehr Setup-Kleinarbeit, $89,95/Monat Essentials-Stufe. Quelle: SendGrid pricing.
Wo Resend trotzdem gewinnt
Resend ist die richtige Wahl, wenn Sie React Email-Komponenten, einen Idempotency-Key-Header und das sauberste TypeScript-SDK der Kategorie möchten, Sie auf Cloudflare Workers oder Vercel Edge deployen und Ihre SaaS unter 100k Transaktions-E-Mails / Monat liegt. Kompromiss: Geringerer Sender-Reputation-Fußabdruck als Postmark, weil das Unternehmen jünger ist. Quelle: Resend pricing.
Wo TanStack Ship steht
TanStack Ship kombiniert TanStack Router + TanStack Start + Cloudflare Workers + D1 + R2 + Resend + Stripe + WebAuthn in einem Stack. Für die E-Mail-Oberfläche im Speziellen:
- React Email nativ: Resend + React Email-Komponenten +
resend devfür lokale Previews. - Idempotente Queue: Typisierter
Idempotency-Key-Header + Cloudflare Queues Retry-and-Dead-Letter. - Multi-Channel: E-Mail + In-App + Web Push durch einen Dispatcher (siehe Code oben).
- DNS-Standards: SPF-, DKIM-, DMARC-Einträge standardmäßig veröffentlicht;
p=none-Richtlinie mitrua-Reporting. - 14 Produktionsmodule: UTM, MRR/ARR-Dashboard, Empfehlungen, R2, Mehrsprachigkeit, MCP/WebMCP, Agent-Skills. Siehe Features.
Kompromiss: Kleinere Community als SendGrid, mehr Eigenverantwortung bei den Docs. Siehe Preise.
Entscheidungsbaum und wann Sie NICHT wechseln sollten
Wählen Sie Resend, wenn Sie Solo auf TanStack/Next.js shippen und React Email + Idempotenz + Edge-DX + die niedrigsten Gesamtkosten bei 50.000 E-Mails/Monat möchten.
Wählen Sie Postmark, wenn Ihre SaaS nach roher Transaktions-Zuverlässigkeit lebt und stirbt und Sie React Email nicht brauchen. Kompromiss: $15 Grundgebühr + pro E-Mail-Preise.
Wählen Sie SendGrid, wenn Sie 200.000+ E-Mails/Monat senden und eingebaute Marketing-Kampagnen + Analytics-Dashboards brauchen. Kompromiss: Schwereres SDK, $89,95/Monat Minimum.
Wählen Sie TanStack Ship, wenn Sie Solo auf TanStack shippen und Resend + React Email + Cloudflare Queues + idempotenten Dispatcher vorverdrahtet möchten. Siehe Preise und Features.
Wechseln Sie NICHT, wenn: Sie auf SendGrids Enterprise-Stufe mit Marketing-Automatisierung sind; Ihr Team tiefe Postmark-Expertise hat; Ihre SaaS volumenabhängig ist und SendGrids Analytics-Dashboards Teil des Workflows sind; Sie von einer SendGrid-Integration abhängen, die kein Resend-Äquivalent hat.
Für Solo-SaaS-Gründer zahlt sich TanStack Ships Resend + React Email + Cloudflare Queues innerhalb des ersten Monats mit bezahltem Traffic zurück.
Häufig gestellte Fragen
Resend vs Postmark vs SendGrid – welches sollte ich für SaaS wählen?
Standardmäßig Resend – es gewinnt bei React Email, Idempotenz, Edge-DX und Gesamtkosten bei 50.000 E-Mails/Monat. Wählen Sie Postmark für rohe Transaktions-Zuverlässigkeit. Wählen Sie SendGrid nur, wenn Sie 200.000+ E-Mails/Monat senden und eingebaute Marketing- + Analytics-Funktionen brauchen. Für eine TanStack-Stack-Empfehlung mit vorverdrahtetem Resend, sehen Sie TanStack Ship.
Ist Postmark besser als Resend bei der Inbox-Platzierung?
Marginal – Postmark landet bei 97% Gmail / 94% Outlook vs Resend 96% / 93% in meinem 30-Tage-Test. Der Unterschied liegt innerhalb des Rauschens; beide liegen deutlich über Gmails Bulk-Sender-Schwelle. Quellen: Postmark pricing, Resend pricing.
Kann ich von SendGrid oder Postmark auf Resend migrieren?
Ja – Resend bietet Migrations-Anleitungen für beide an. Die Migration umfasst die API-Oberfläche + das Template-Set + die DNS-Einträge; Webhooks feuern bei erstem Versand erneut. Die meisten Migrationen dauern ein langes Wochenende.
Bietet Resend React Email?
Ja – React Email wurde vom Resend-Team erstellt. Jede Layout-Komponente (<Section />, <Row />, <Button />) bietet native TypeScript-Typen und Outlook-Fallback. Quelle: React Email.
Bietet Resend Idempotenz?
Ja – Übergeben Sie Idempotency-Key bei der Anfrage und Resend dedupliziert für 24h. Quelle: Resend docs.
Hat TanStack Ship Resend?
Ja – Resend mit React Email-Templates, idempotenter Queue, Multi-Channel-Dispatcher und SPF/DKIM/DMARC-DNS-Standards ist standardmäßig verdrahtet. Siehe Features und Preise.
Abschluss
Für den TanStack-Stack, vorkonfiguriert für Solo-SaaS mit Resend + React Email + Cloudflare Queues + idempotentem Dispatcher, sehen Sie TanStack Ships Features und Preisstufen. Verwandt: SaaS-Boilerplates mit E-Mail + Benachrichtigungen im Vergleich · SaaS-E-Mail-Deliverability SPF/DKIM/DMARC-Leitfaden.
Probieren Sie TanStack Ship mit vorverdrahtetem Resend. Klonen Sie den kostenlosen Starter, senden Sie Ihre ersten 50.000 Transaktions-E-Mails und messen Sie den Unterschied selbst. Jetzt starten →