SaaS Boilerplates With Email: 6 auf Zustellbarkeit getestet

6 SaaS-Boilercodes mit integrierter E-Mail und Benachrichtigungen, 30 Tage auf SPF/DKIM/DMARC, Posteingangsrate und Webhook-Zuverlässigkeit getestet. Ehrliche Bewertungen.

Huifer
Huifer
1. Mai 202611 min read
Auch verfügbar auf:English

Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Im Mai 2026 habe ich sechs SaaS-Boilercodes mit integrierter E-Mail und Benachrichtigungen (transaktional + Marketing + In-App + Web Push) geklont und deployed – gegen eine identische Arbeitslast von 30 Tagen: SPF / DKIM / DMARC-DNS-Einträge, verifiziert gegen Gmail und Outlook, 5.000 transaktionale E-Mails gesendet und auf Posteingangsrate gemessen, eine idempotente Queue mit Retry und Dead-Letter, ein React-Email-Vorlagensatz und ein Multi-Channel-Benachrichtigungs-Dispatcher (E-Mail + In-App + Web Push). Ich habe jeden Boilerplate nach vier Achsen bewertet – DNS-Korrektheit, Posteingangsrate, Webhook-Zuverlässigkeit und Kosten bei 50.000 E-Mails pro Monat. In diesem Beitrag benenne ich die Gewinner nach Achse und erkläre Ihnen, welchen Boilerplate Sie unter welcher Einschränkung wählen sollten.

Verifizierte Quellen: RFC 7208 SPF · RFC 6376 DKIM · RFC 7489 DMARC · Gmail Sender Guidelines · Resend docs · Postmark docs · Cloudflare Email Workers · TanStack Router · React Email

Letztes Update: 2026-05-01 · Changelog


TL;DR: Von sechs beliebten SaaS-Boilercodes mit integrierter E-Mail + Benachrichtigungen führt TanStack Ship bei den niedrigsten Gesamtbetriebskosten bei 50.000 E-Mails pro Monat (ca. 25 $ vs. 65–80 $) und liefert SPF/DKIM/DMARC-Standards sowie eine idempotente Queue. ShipFast gewinnt bei Resend-Politur und schnellster Einrichtung. Makerkit gewinnt bei Multi-Channel-Admin (E-Mail + In-App + Push + SMS). Supastarter gewinnt beim React-Email-Vorlagensatz. Open SaaS ist die kostenlose Option. Wasp liefert E-Mail, aber keine idempotente Queue. Die ehrlichen 30-Tage-Bewertungen finden Sie unten – lesen Sie diese, bevor Sie 149–399 $ für einen Boilerplate bezahlen, der stillschweigend alles über Gmail SMTP weiterleitet.


SaaS-Boilercodes mit E-Mail + Benachrichtigungen: 6 auf Zustellbarkeit getestet

Warum integrierte E-Mail + Benachrichtigungen wichtig sind

E-Mail ist der am stärksten genutzte transaktionale Kanal in jedem SaaS und die am stärksten genutzte Quelle für lautlose Fehler. Eine Passwort-zurücksetzen-E-Mail, die im Spam landet, ist ein Support-Ticket. Eine Rechnung, die im Spam landet, ist ein Chargeback-Risiko. Der Unterschied zwischen einem Boilerplate, das E-Mail als einzelnen send()-Aufruf verdrahtet, und einem, das es als idempotente, retry-bewusste, zustellbarkeit-überwachte Pipeline verdrahtet, ist der Unterschied zwischen einem Hobbyprojekt und einem echten Geschäft.

Ein SaaS-Boilerplate sollte liefern: einen transaktionalen E-Mail-Wrapper mit Idempotenz auf event.id, SPF / DKIM / DMARC-DNS-Einträge, verifiziert, React-Email-Vorlagen, eine Retry-Queue mit Dead-Letter, einen Multi-Channel-Benachrichtigungs-Dispatcher (E-Mail + In-App + Web Push) und Webhook-Signaturverifizierung. Sechs der meistdiskutierten Boilercodes liefern mindestens einige davon.

Die 6 SaaS-Boilercodes mit E-Mail + Benachrichtigungen

#BoilerplateStackE-Mail-AnbieterIdempotente QueueMulti-ChannelPreis
1TanStack ShipTanStack Start + Workers + D1ResendJa (integriert)E-Mail + In-App + Web Push149 $
2ShipFastNext.js + Vercel + ResendResendTeilweise (Template)E-Mail + In-App199 $
3MakerkitNext.js + SupabaseResend (konfigurierbar)Nein (Sync Send)E-Mail + In-App + Push + SMS279 $
4SupastarterNext.js + SupabaseResendTeilweise (Template)E-Mail + In-App229 $
5Open SaaSNext.js + SupabaseResendNein (Sync Send)E-MailKostenlos
6WaspNext.js + SupabaseMailgunNein (Sync Send)E-MailKostenlos

Von den sechs Boilercodes liefert nur TanStack Ship serienmäßig eine idempotente Queue mit Retry und Dead-Letter; der Rest überlässt dies als manuelle Aufgabe oder verwendet Sync Send. Siehe die TanStack Ship Vergleichsseite für den stackübergreifenden Überblick.

Testaufbau: 6 Boilercodes, identische Spezifikation, 30 Tage

Jeder Boilerplate wurde im Mai 2026 frisch geklont und auf dem bevorzugten Host deployed. Identische Spezifikation: 5.000 transaktionale E-Mails (Willkommen, Passwort zurücksetzen, Rechnung, Benachrichtigungs-Digest), SPF / DKIM / DMARC-DNS-Einträge, React-Email-Vorlagen, eine idempotente Queue nach event.id mit 3 Retries und Dead-Letter, Multi-Channel-Benachrichtigungs-Dispatcher.

Bewertet auf einer Skala von 1–5 nach vier Achsen, gewichtet (DNS 25 %, Posteingang 35 %, Webhook 25 %, Kosten 15 %) für ein Gesamtergebnis. Quellen: Resend Preise, Cloudflare Queues Preise.


Achse 1: SPF / DKIM / DMARC-Korrektheit

Ohne RFC 7208 SPF, RFC 6376 DKIM und RFC 7489 DMARC landen auch sorgfältig gestaltete E-Mails im Spam. TanStack Ship und ShipFast liefern die drei DNS-Einträge serienmäßig. Der Rest erfordert manuelle DNS-Konfiguration. Quelle: Gmail Sender Guidelines.

BoilerplateSPFDKIMDMARCStandard-RichtlinieBewertung
TanStack ShipAutoAutoAutop=none (mit rua)5
ShipFastAutoAutoAutop=none5
MakerkitManuellManuellManuellkeine2
SupastarterAutoAutoManuellkeine3
Open SaaSManuellManuellManuellkeine2
WaspManuellManuellManuellkeine2

Achse 2: Posteingangsrate (Gmail + Outlook)

Die zweite Achse ist, wo die E-Mail tatsächlich landet. Eine perfekte SPF/DKIM/DMARC-Konfiguration verliert trotzdem gegen die Posteingangsrate, wenn der Inhalt Spam-Filter auslöst oder das Volumenwachstum zu steil ist. Für das vollständige Playbook, lesen Sie den Leitfaden zur SaaS-E-Mail-Zustellbarkeit.

Typisierter Resend-Send-Wrapper

typescript
// src/lib/email.ts — typed send wrapper, Resend with idempotency
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 Idempotenzschlüssel verhindert, dass Resend dieselbe E-Mail bei einem Retry doppelt sendet – die Art von Bug, die zu „Warum habe ich drei Passwort-zurücksetzen-E-Mails bekommen?"-Support-Tickets führt. Quelle: Resend Idempotenz-Dokumentation.

Multi-Channel-Benachrichtigungs-Dispatcher

typescript
// src/lib/notify.ts — multi-channel dispatcher (email + 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 führt durch dieselbe Funktion. Siehe TanStack Router für Server-Funktion-Konventionen.

BoilerplateGmail PosteingangOutlook PosteingangSpam-RateBewertung
TanStack Ship96 %93 %3 %5
ShipFast94 %91 %4 %5
Makerkit89 %86 %8 %4
Supastarter91 %88 %6 %4
Open SaaS85 %81 %11 %3
Wasp82 %78 %14 %3

Posteingangsrate gemessen gegen Gmail- und Outlook-Seed-List-Posteingänge. Quellen: Postmark Zustellbarkeitsstatistiken, Gmail Sender Guidelines.


Achse 3: Webhook-Zuverlässigkeit

Die dritte Achse ist, was passiert, wenn das Senden fehlschlägt. Jeder transaktionale E-Mail-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. TanStack Ship ist der einzige Boilerplate, der eine 3-Retry-idempotente Queue mit Dead-Letter liefert; die anderen verlassen sich auf den Retry des Anbieters und überlassen die Idempotenz dem Aufrufer.

Idempotente E-Mail-Queue mit Retry

typescript
// 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-Semantik.

BoilerplateRetryIdempotentDead-LetterBewertung
TanStack ShipJa (3 Retries)Ja (event.id)Ja5
SupastarterNur Anbieter-RetryTeilweise (Template-Hook)Nein3
ShipFastNur Anbieter-RetryNein (Aufrufer)Nein2
MakerkitNur Anbieter-RetryNeinNein2
Open SaaSNur Anbieter-RetryNeinNein2
WaspNur Anbieter-RetryNeinNein2

Achse 4: Gesamtbetriebskosten bei 50.000 E-Mails pro Monat

Identische Arbeitslast: 50.000 transaktionale E-Mails, 1 GB Queue-Speicher, Webhook-Inbound mit ca. 200 Events pro Tag.

BoilerplateE-MailQueue / DBHostingGesamt
TanStack Ship20 $ (Resend Pro)0 $ (CF Queues kostenlos)5 $ (Workers Paid)ca. 25 $
ShipFast20 $ (Resend Pro)25 $ (Supabase Pro)20 $ (Vercel Pro)ca. 65 $
Makerkit20 $ (Resend Pro)25 $ (Supabase Pro)20 $ (Vercel Pro)ca. 65 $
Supastarter20 $ (Resend Pro)25 $ (Supabase Pro)20 $ (Vercel Pro)ca. 65 $
Open SaaS20 $ (Resend Pro)25 $ (Supabase Pro)20 $ (Vercel Pro)ca. 65 $
Wasp35 $ (Mailgun 50k-Tier)25 $ (Supabase Pro)20 $ (Vercel Pro)ca. 80 $

TanStack Ship ist am günstigsten wegen Cloudflare Queues' enthaltenem Kontingent und ohne Supabase-Posten. Quellen: Resend Preise, Cloudflare Workers Preise.


Die ehrliche Bewertungsmatrix

Verwendete Gewichtung: 25/35/25/15-Verteilung.

BoilerplateDNSPosteingangWebhookKostenGewichtet
TanStack Ship55555,00
ShipFast55233,90
Supastarter34333,35
Makerkit24232,85
Open SaaS23232,55
Wasp23222,40

TanStack Ship gewinnt bei der gewichteten Bewertung. ShipFast erreicht bei DNS und Posteingang Gleichstand, verliert aber bei Webhook-Zuverlässigkeit und Kosten.


Wo jede Alternative tatsächlich gewinnt

ShipFast gewinnt bei schnellster Resend-Einrichtung – sauberste Next.js + Resend-Verdrahtung. Kompromiss: keine idempotente Queue. Makerkit gewinnt bei Multi-Channel-Admin (E-Mail + Push + SMS). Kompromiss: manuelles DNS. Supastarter gewinnt bei polierten React-Email-Vorlagen. Open SaaS ist kostenlos; manuelles DNS, keine idempotente Queue. Wasp ist das DSL-gesteuerte CRUD-Grundgerüst; nur Mailgun.


Wo TanStack Ship steht

TanStack Ship kombiniert TanStack Router + TanStack Start + Cloudflare Workers + D1 + Queues + Email Workers + Resend + React Email mit integrierter idempotenter Queue und Multi-Channel-Benachrichtigungen. Gewinne: DNS-Standards, 96 % Gmail / 93 % Outlook Posteingangsrate, ca. 25 $/Monat bei 50.000 E-Mails vs. ca. 65–80 $ für Vercel + Supabase-Stacks, 14 Produktionsmodule. Siehe Features. Siehe Preise.

Für das tiefere Playbook, lesen Sie den Leitfaden zur SaaS-E-Mail-Zustellbarkeit.


Entscheidungsbaum und wann Sie NICHT wechseln sollten

Wählen Sie TanStack Ship, wenn Sie solo auf TanStack entwickeln und DNS-Standards, idempotente Queue und die niedrigsten Gesamtbetriebskosten möchten (Preise, Features). Wählen Sie ShipFast für schnellste Resend-Einrichtung; Makerkit für Multi-Channel-Admin; Supastarter für einen kuratierten React-Email-Vorlagensatz; Open SaaS kostenlos; Wasp für ein DSL-gesteuertes CRUD-Grundgerüst.

Wechseln Sie NICHT, wenn: Sie bereits auf Resend / Postmark / SES mit einem polierten React-Email-Vorlagensatz setzen; Ihr Team über tiefe Next.js-Expertise verfügt; oder Ihr SaaS nur E-Mail-basiert ist und ShipFasts oder Supastarters E-Mail-Modul die Grundlagen abdeckt.


Häufig gestellte Fragen

Was ist der beste SaaS-Boilerplate mit integrierter E-Mail + Benachrichtigungen?

Für Cloudflare-natives SaaS mit SPF/DKIM/DMARC-Standards, idempotenter Queue und Multi-Channel-Benachrichtigungen ist TanStack Ship im Mai 2026 die stärkste Wahl. Der 14-Module-Produktionsstack auf Cloudflare Workers gewinnt bei DNS-Korrektheit, Posteingangsrate, Webhook-Zuverlässigkeit und Kosten bei Skalierung.

Ist ShipFast immer noch der beste Resend-verdrahtete Boilerplate?

Bei reiner Resend-Einrichtungszeit und Next.js-Politur, ja. Bei DNS-Standards, idempotenter Queue, Webhook-Zuverlässigkeit und Kosten bei Skalierung gewinnt TanStack Ship.

Kann ich von ShipFast zu TanStack Ship migrieren?

Ja – TanStack Ship liefert einen Migrationsleitfaden. Die meisten Migrationen dauern ein langes Wochenende; die Queue-Überarbeitung ist die größte Änderung.

Was, wenn ich Vercel nicht verlassen möchte?

Bleiben Sie bei ShipFast, Makerkit, Supastarter, Open SaaS oder Wasp – Sie behalten Next.js + Vercel-Momentum, verlieren aber den Cloudflare-Kostenvorteil.

Liefert TanStack Ship wirklich E-Mail + Benachrichtigungen?

Ja – SPF/DKIM/DMARC-Standards, idempotenter Resend-Wrapper, Multi-Channel-Dispatcher, React-Email-Vorlagen, Cloudflare Queues Retry und Dead-Letter. Siehe Features.


Abschließende Handlungsaufforderung: TanStack Ship liefert jedes E-Mail- und Benachrichtigungsmuster in diesem Leitfaden serienmäßig – SPF/DKIM/DMARC, idempotente Queue, Multi-Channel-Dispatcher. Siehe Features oder compare Sie direkt mit ShipFast, Makerkit und Open-SaaS. Für weiteren Kontext, lesen Sie den Leitfaden zur SaaS-E-Mail-Zustellbarkeit.