MAILGUN · TECH-STACK
Mailgun: API-starker Versand mit EU-Region Frankfurt für Entwickler-Teams
Mailgun (Sinch) ist der Entwickler-Klassiker für Transaktions-Mail. EUR 35/Monat für 50.000 Mails, API-stark mit SDKs in 8 Sprachen, EU-Region Frankfurt für DSGVO-Setups, Webhook + Routing.
Recherche & Faktencheck: DuneDive LLC · Stand: 2026-05
Was ist Mailgun?
Mailgun ist eine US-amerikanische Versand-Plattform für Transaktions- und Massen-Mails, seit 2021 Teil der schwedischen Sinch-Gruppe (früher Rackspace-Tochter). Im Gegensatz zu Postmark, das sich auf einzelne Transaktions-Mails konzentriert, deckt Mailgun beide Welten ab: Einzelversand (Login-Codes, Mahnungen) und Bulk-Versand (Newsletter, Onboarding-Sequenzen) im selben Account, mit getrennten IP-Pools und Tracking.
Der Markenkern liegt seit 2010 bei Entwickler-Teams: REST-API, gut dokumentierte SDKs in PHP, Python, Ruby, Node.js, Go, Java, .NET und Elixir, sowie ein flexibles „Routes"-System für Inbound-Mail mit Pattern-Matching (regex auf Empfänger-Adresse). Mailgun war einer der ersten Anbieter, der Webhooks für Events (delivered, bounced, complained, opened, clicked) als first-class-Citizen behandelt hat -- das hat den DX-Standard in der Branche geprägt.
Im Mai 2026 hostet Mailgun in zwei Hauptregionen: US (api.mailgun.net, AWS us-east-1) und EU (api.eu.mailgun.net, AWS eu-central-1, Frankfurt). Die EU-Region muss bei der Domain-Anlage explizit gewählt werden -- ein nachträglicher Wechsel ist nicht möglich. Daten und Logs bleiben in der gewählten Region. Auftragsverarbeitungs-Vertrag (DPA/AVV) ist im Dashboard direkt herunterladbar, DSGVO-konform.
Preise (Mai 2026): „Foundation" USD 35/Monat für 50.000 Mails inkl. 5 Tage Log-Retention, „Growth" USD 90/Monat für 100k Mails plus 30 Tage Logs, „Scale" USD 600/Monat für 1 Mio Mails plus dedizierte IP. Free-Tier wurde 2024 abgeschafft, einen Probemonat (5.000 Mails) gibt es noch.
Warum es für CH-KMU zählt
Mailgun hat für Schweizer Setups drei spezifische Vorteile: die EU-Region Frankfurt, die ausgereifte API und das Routes-Feature für Inbound-Mail.
EU-Region Frankfurt löst das Drittland-Problem teilweise: Domain in `api.eu.mailgun.net` registriert, Daten und Logs bleiben in DE. Bei Auswertung mit dem revFADP-Drittland-Test ist eine TIA leichter darstellbar, weil der Hauptdatenfluss innerhalb der EU bleibt. Sinch als Konzern sitzt in Schweden, der Vertragspartner kann auf Wunsch eine EU-Tochter sein. Damit landet Mailgun in einem ähnlichen Compliance-Korridor wie Brevo oder Mailjet -- mit dem Unterschied, dass die Konzernzugehörigkeit US-näher bleibt (Sinch hat US-Listing).
API-Reife ist der Hauptvorteil. Die Mailgun-API hat 15 Jahre Reifezeit, was sich an Details zeigt: Idempotenz-Keys, batchige Versendung („Batch Sending" mit Recipient-Variables für personalisierte Mails an 1000 Empfänger in einem API-Call), Templating mit Variablen, Inline-Attachments, Test-Modus pro Domain. SDKs sind aktuell gepflegt -- PHP, Python und Node.js werden auch 2026 noch monatlich aktualisiert.
Routes für Inbound: Mailgun erlaubt mehrere Routen pro Domain mit Pattern-Matching. Beispiel: `match_recipient("support-.*@kanzlei.ch")` triggert Webhook A, `match_recipient("audit-.*@kanzlei.ch")` triggert Webhook B. Damit lassen sich Mandantenanfragen pro Kategorie unterschiedlich routen, ohne eigene Mail-Parser bauen zu müssen.
Der Trade-Off: Mailgun ist 2-3 Prozentpunkte hinter Postmark bei Zustellrate (93-95 Prozent). Bei niedrigen Volumen (unter 10k/Monat) ist Postmark günstiger und besser zustellend. Mailgun rechnet sich erst ab 30k+ Mails pro Monat und wenn die API-Breite wichtig ist.
Wie es funktioniert
Mailgun bietet drei Sende-Pfade: SMTP-Relay, REST-API und SDKs.
SMTP-Relay: Host `smtp.mailgun.org` (US) oder `smtp.eu.mailgun.org` (EU), Port 587 STARTTLS oder 465 SMTPS. User: `postmaster@<mail-domain>`, Pass: SMTP-Credentials aus dem Dashboard. Funktioniert mit jedem klassischen Mail-Framework.
REST-API: Endpunkt `https://api.eu.mailgun.net/v3/<mail-domain>/messages`, HTTP Basic Auth mit `api:<API-Key>`. cURL-Beispiel:
``` curl --user "api:${MAILGUN_API_KEY}" \ -X POST "https://api.eu.mailgun.net/v3/mg.kanzlei-mueller.ch/messages" \ -F from="Kanzlei Müller <[email protected]üller.ch>" \ -F to="[email protected]" \ -F subject="Mahnung Nr. 2 - Rechnung 2026-104" \ -F text="Sehr geehrte Frau Berger, ..." \ -F "o:tag=mahnung-stufe-2" \ -F "o:tracking=yes" ```
Das `o:tag` ist Mailgun-spezifisch und erlaubt aggregierte Statistik pro Tag im Dashboard.
DNS-Setup: Mailgun verlangt vier Records pro Sender-Domain: SPF (TXT `v=spf1 include:mailgun.org ~all`), DKIM (TXT, Selector `pic._domainkey` oder benutzerdefiniert), MX (zwei Records `mxa.mailgun.org` und `mxb.mailgun.org` -- nur wenn Inbound-Routes genutzt werden), und ein Tracking-CNAME `email.<domain>` auf `mailgun.org`. DMARC-Empfehlung wie immer: `p=quarantine; pct=100`.
Routes: Im Dashboard unter „Receiving > Routes" definierbar. Filter-Expression: `match_recipient("support@<domain>")`, Action: `forward("https://kanzlei.ch/api/inbound")` oder `store()`. Mehrere Routen pro Account möglich, Prioritäten setzbar.
Webhooks: Pro Event-Typ (delivered, opened, clicked, unsubscribed, complained, failed) ein eigener Webhook-Endpunkt einstellbar. HMAC-SHA256-Signatur im Header `X-Mailgun-Signature` erlaubt Verifizierung der Echtheit. Retries: 3 Versuche über 8 Stunden, dann verworfen -- der Receiver muss 200 OK liefern.
Test und Monitoring: Mailgun bietet einen Test-Modus per Domain (alle Mails werden „delivered" markiert, aber nicht versendet). Im Live-Modus: Dashboard liefert pro Tag eine Zeit-Reihe (sent, delivered, bounced, opened, clicked). Stats-API erlaubt programmatischen Export -- ideal für eigene Grafana-Dashboards.
Mailgun-Setup in 5 Schritten
- 01Mailgun-Account anlegen, beim Domain-Hinzufügen explizit EU-Region wählen (api.eu.mailgun.net) -- ein Wechsel ist nicht möglich.
- 02Vier DNS-Records in Cloudflare als DNS-only setzen: SPF, DKIM, optional MX (für Inbound), Tracking-CNAME. Auf 24h Propagation warten.
- 03DMARC-Record manuell auf p=none für 14 Tage, dann auf quarantine erhöhen.
- 04Anwendung anbinden: API-Key in .env (MAILGUN_API_KEY), Domain in MAILGUN_DOMAIN, via REST `https://api.eu.mailgun.net/v3/<domain>/messages` versenden.
- 05Webhooks für delivered, bounced, complained einrichten, HMAC-Signatur verifizieren, Stats-API in Grafana visualisieren.
Wann Mailgun passt
Mailgun ist die richtige Wahl, wenn (a) das Volumen zwischen 30.000 und 500.000 Mails pro Monat liegt, (b) die Anwendung sowohl transaktionale als auch Bulk-Mails versenden soll und (c) die Entwickler-Erfahrung mit reifer API zählt. Hinzu kommt: wenn Inbound-Routing mit komplexem Pattern-Matching gebraucht wird, schlägt Mailgun Postmark deutlich.
Konkrete Fälle: Eine Schweizer SaaS-Plattform mit 80.000 Login- und Notification-Mails pro Monat profitiert vom Mailgun-Foundation-Tarif (USD 35 für 50k) gegenüber Postmark (75 USD bei gleichem Volumen). Eine Treuhand-Mandanten-Plattform mit eingehenden Mails an `audit-<mandant-id>@kanzlei.ch` braucht Routes-Pattern -- das ist bei Mailgun komfortabler als bei Postmark-Streams. Ein E-Commerce-Shop mit Order-Confirmations plus wöchentlichem Newsletter im selben Account spart Verwaltung.
Für DACH-/Schweiz-Setups immer die EU-Region wählen -- die Anlage neu, weil ein Wechsel später nicht möglich ist.
Wann NICHT
Mailgun ist die falsche Wahl, wenn (a) die maximale Zustellrate für rechtsrelevante Einzel-Mails nötig ist -- dann Postmark bei 99 Prozent statt Mailgun bei 94 Prozent, (b) das Volumen unter 10.000 Mails pro Monat liegt -- dort sind Brevo Free oder Postmark Starter wirtschaftlicher, oder (c) die Treuhand-Praxis ausschliesslich CH-Hosting verlangt -- dann Infomaniak.
Weitere Fallen: US-Region versehentlich gewählt, dann landen Mandantendaten in us-east-1 ohne EU-Fängnis. Free-Tier-Erwartung -- den gibt es seit 2024 nicht mehr, nur einen 5k-Mail-Probemonat. DKIM-Selector mit falschem Wert eintragen (Mailgun generiert pic._domainkey, viele andere nutzen mail._domainkey -- nicht verwechseln). Inbound-Routes ohne MX-Setup aktivieren -- ohne MX kommen keine Mails an, der Verbindungsfehler ist still.
Vor- und Nachteile
STÄRKEN
- EU-Region Frankfurt für DSGVO/revFADP-Konformität
- API-Reife mit SDKs in 8 Sprachen
- Routes-System mit Pattern-Matching für Inbound
- Transactional plus Bulk im selben Account
SCHWÄCHEN
- Zustellrate 4-5 Prozent unter Postmark (94 vs 99)
- Höherer Einstiegspreis als Brevo oder Postmark
- Free-Tier seit 2024 abgeschafft
- Region einmal gewählt -- nicht wechselbar
Häufige Fragen
Was kostet Mailgun für ein CH-KMU?
Free-Tier abgeschafft. Trial: 5.000 Mails einen Monat. Foundation USD 35/Monat für 50k Mails, Growth USD 90/Monat für 100k, Scale USD 600/Monat für 1 Mio. Bei 10k Mails ist Brevo Starter (EUR 19) oder Postmark (EUR 15) deutlich günstiger. Mailgun rechnet sich ab 30k+ Mails pro Monat.
EU-Region versus US-Region -- welcher Unterschied?
Die EU-Region (api.eu.mailgun.net, AWS Frankfurt) hält Daten und Logs in DE. Für revFADP- und DSGVO-Konformität relevant. US-Region (api.mailgun.net, AWS us-east-1) hat dieselbe API, aber landet in den USA -- TIA nötig. Achtung: Domain einmal angelegt, Region nicht mehr wechselbar. Bei jeder neuen Domain prüfen.
Mailgun versus Postmark für Mahn-Mails?
Postmark hat 4-5 Prozent höhere Inbox-Quote (99 vs 94 Prozent) und ist bei rechtsrelevanten Mahnungen klar besser. Mailgun gewinnt bei höherem Volumen mit Bulk-Mails im selben Account und bei komplexem Inbound-Routing. Praxis-Empfehlung: Mahnungen über Postmark, Marketing/Onboarding über Mailgun -- saubere Trennung der Streams.
Wie funktioniert das Routes-System in der Praxis?
Im Dashboard pro Domain mehrere Routen definieren. Filter: `match_recipient("audit-.*@kanzlei.ch")`. Action: `forward("https://kanzlei.ch/api/inbound-audit")`. Mailgun parst eingehende Mail (mxa/mxb.mailgun.org), schickt POST mit JSON-Body an den Webhook. Anhänge werden als URL-Referenzen geliefert (separat per HTTP holen). Sehr praktisch für Treuhand-Inbound mit unterschiedlichen Kategorien.
Verwandte Themen
Quellen
- Mailgun Pricing 2026 · 2026-05
- Mailgun Documentation -- EU region · 2026-04
- Mailgun Routes Documentation · 2026-03
- Sinch Group -- DPA and GDPR commitments · 2026-05
PASSEND ZU IHREM STACK?