Mailgun: Vollständiger technischer Leitfaden für Transaktions-E-Mails
Von CaptainDNS
Veröffentlicht am 21. Januar 2026

- 📢 Mailgun verwendet Ihre Domain im Return-Path (
bounce+id@ihredomain.com) und ermöglicht native SPF-Ausrichtung für DMARC ab dem Basisplan. - Die REST API ist die empfohlene Methode: bis zu 1.000 Empfänger pro Aufruf, undokumentierte Rate Limits (außer Domains API: 300 req/min).
- Automatic Sender Security generiert 2 DKIM-CNAMEs mit automatischer Rotation alle 120 Tage, 2048-Bit-Schlüssel standardmäßig.
- Dedizierte IP empfohlen ab 1 Million E-Mails/Monat, mit automatischem Warmup über 15+ Tage und Kosten von 59$/IP/Monat zusätzlich.
- Flex-Plan erhöht auf 2,00$/1000 E-Mails seit Dezember 2025 (Verdoppelung des Tarifs).
Einführung
Mailgun hat sich als eine der robustesten Plattformen für Transaktions-E-Mails auf dem Markt etabliert und verarbeitet über 600 Milliarden E-Mails pro Jahr für mehr als 100.000 Kunden. Im Dezember 2021 von Sinch für 1,9 Milliarden USD übernommen, kombiniert der Service eine leistungsstarke REST API, ein universelles SMTP-Relay und erweiterte Authentifizierungsfunktionen, die ihn von der Konkurrenz abheben.
Die Stärke von Mailgun liegt in drei wichtigen technischen Säulen: einem entwicklerorientierten API-First-Ansatz, einer Domain Verification, die Ihre eigene Domain für den Return-Path verwendet (native SPF-Ausrichtung für DMARC), und einem System zur automatischen Rotation von 2048-Bit-DKIM-Schlüsseln alle 120 Tage ohne Serviceunterbrechung.
Dieser Leitfaden richtet sich an Entwickler, DevOps und Systemarchitekten, die Mailgun für Transaktions-E-Mails mit einem vollständigen Verständnis der Infrastruktur integrieren möchten: DNS-Konfiguration, Wahl zwischen API und SMTP, Verwaltung dedizierter IPs, technische Limits und Event-Webhooks.
REST API vs. SMTP Relay: Architektur und Integrationswahl
Mailgun bietet zwei Integrationsmethoden für Transaktions-E-Mails, beide ab dem kostenlosen Plan verfügbar (100 E-Mails/Tag).

Technischer Vergleich
| Kriterium | REST API | SMTP Relay |
|---|---|---|
| Endpoint | https://api.mailgun.net/v3/{domain}/messages (US) | smtp.mailgun.org Ports 587/465 |
| Authentifizierung | HTTP Basic Auth (api:YOUR_API_KEY) | SASL/PLAIN (postmaster@ + SMTP-Passwort) |
| Rate Limit | Undokumentiert (Domains API: 300 req/min) | Abhängig von IP und Plan |
| Empfänger/req | Bis zu 1.000 (to + cc + bcc kombiniert) | 1 E-Mail = 1 SMTP-Verbindung |
| Vorlagen | Variablen mit {{variable}}-Syntax | Über X-Mailgun-Variables-Header |
| Zeitplanung | o:deliverytime (bis zu 3 Tage, 7d bei 7d+ Speicher) | Über X-Mailgun-Deliver-By-Header |
| Tracking | Nativ (o:tracking, o:track-clicks, o:track-opens) | Über X-Mailgun-Track*-Header |
| Kompatibilität | Benötigt SDK oder HTTP-Client | Jedes SMTP-kompatible System |
| Idealer Anwendungsfall | Moderne Apps, Batch, erweiterte Personalisierung | Legacy, CMS-Plugins, Mail-Server |
Wann sollten Sie die REST API wählen?
Die REST API ist Mailguns empfohlene Methode für jede neue Integration. Sie ist unter POST https://api.mailgun.net/v3/{domain}/messages für die US-Region oder api.eu.mailgun.net für die EU verfügbar.
Hauptvorteile:
- Batch-Versand: Versand an bis zu 1.000 Empfänger in einer einzigen Anfrage mit Personalisierung über Empfängervariablen
- Gespeicherte Vorlagen: Handlebars-Syntax mit Bedingungen, Schleifen, benutzerdefinierten Helfern
- Zeitplanung: Versandplanung bis zu 3 Tage im Voraus (7 Tage, wenn Ihr Plan 7+ Tage Speicherung beinhaltet)
- Rate-Limit-Header:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Resetfür Monitoring
Beispiel für Versand mit Personalisierung:
curl -s --user 'api:YOUR_API_KEY' \
https://api.mailgun.net/v3/mail.captaindns.com/messages \
-F from='Benachrichtigungen <no-reply@mail.captaindns.com>' \
-F to='user1@captaindns.com' \
-F to='user2@captaindns.com' \
-F subject='Neue Benachrichtigung' \
-F text='Hallo {{vorname}}, Sie haben {{anzahl}} Benachrichtigungen.' \
-F recipient-variables='{"user1@captaindns.com":{"vorname":"Hans","anzahl":"3"},"user2@captaindns.com":{"vorname":"Maria","anzahl":"7"}}' \
-F o:tag='benachrichtigung' \
-F o:tracking='yes'
Offizielle SDKs: Mailgun pflegt SDKs für Go, Node.js, PHP, Python, Ruby und Java, die die REST API kapseln und die Integration vereinfachen.
Wann sollten Sie das SMTP Relay wählen?
Das SMTP Relay ist ideal für Legacy-Systeme oder Anwendungen, die nur SMTP unterstützen.
Offizielle Konfiguration:
SMTP-Server: smtp.mailgun.org (US) oder smtp.eu.mailgun.org (EU)
SMTP-Benutzer: postmaster@mail.captaindns.com (oder benutzerdefinierter SMTP-Benutzer)
SMTP-Passwort: [Domain-SMTP-Passwort]
Port: 587 (STARTTLS empfohlen) oder 465 (direktes TLS) oder 2525 (GCE-Fallback)
Kritischer Punkt: Die SMTP-Authentifizierung verwendet das Domain-SMTP-Passwort, das sich vom API-Schlüssel unterscheidet. Der Benutzername ist die postmaster@-Adresse Ihrer verifizierten Domain (oder ein im Dashboard erstellter benutzerdefinierter SMTP-Benutzer).
Proprietäre X-Mailgun-*-Header: Ermöglichen Zugriff auf erweiterte Funktionen über SMTP (Tags, Tracking, Vorlagen, Zeitplanung, Variablen). Vollständige Liste:
X-Mailgun-Tag: Tag für Statistiken (mehrere möglich)X-Mailgun-Track: Globales Tracking aktivieren/deaktivierenX-Mailgun-Track-Clicks: Klick-Tracking (yes/no/htmlonly)X-Mailgun-Track-Opens: Öffnungs-Tracking (yes/no)X-Mailgun-Deliver-By: Zeitplanung (RFC 2822-Format oder Unix-Timestamp)X-Mailgun-Template-Name: Zu verwendender VorlagennameX-Mailgun-Variables: Vorlagenvariablen (JSON)
Domain Verification: SPF, 2048-Bit-DKIM und native DMARC-Ausrichtung
Die DNS-Konfiguration in Mailgun generiert die notwendigen Einträge für SPF, DKIM und DMARC-Ausrichtung. Der Prozess wird unter Sending > Domains > Domain settings > Domain verification durchgeführt.
Architektur mit Automatic Sender Security (empfohlen)
Mit aktivierter Automatic Sender Security-Option (empfohlen) generiert Mailgun 2 DKIM-CNAME-Einträge für die automatische Schlüsselrotation:

Erforderliche Einträge (Beispiel für mail.captaindns.com):
| Typ | Name/Host | Wert | Zweck |
|---|---|---|---|
| TXT | mail.captaindns.com | v=spf1 include:mailgun.org ~all | SPF |
| CNAME | pdk1._domainkey.mail.captaindns.com | pdk1._domainkey.XXXX.dkim1.mailgun.com | DKIM-Rotation (Selektor 1) |
| CNAME | pdk2._domainkey.mail.captaindns.com | pdk2._domainkey.XXXX.dkim1.mailgun.com | DKIM-Rotation (Selektor 2) |
| MX | mail.captaindns.com | mxa.mailgun.org (Priorität 10) | Bounces/Inbound |
| MX | mail.captaindns.com | mxb.mailgun.org (Priorität 10) | Bounces/Inbound |
EU-Region-Hinweis: Für die EU verwenden MX-Einträge mxa.eu.mailgun.org und mxb.eu.mailgun.org.
Vorteile dieser Architektur:
- Automatische DKIM-Schlüsselrotation: Die beiden Selektoren (
pdk1undpdk2) ermöglichen es Mailgun, Schlüssel alle 120 Tage ohne Serviceunterbrechung zu ändern - 2048-Bit-DKIM-Schlüssel standardmäßig (manuelle TXT-Konfigurationen können 1024 Bit verwenden, aber 2048 empfohlen)
- Kein Tracking-CNAME-Eintrag standardmäßig erforderlich: Mailgun verwendet
mailgun.org(odereu.mailgun.orgfür die EU) - DKIM-Selektoren:
pdk1undpdk2für Automatic Security odermxfür manuelle TXT-Konfiguration
Return-Path und SPF-Ausrichtung: ein großer Vorteil
Der Return-Path (Envelope From) ist entscheidend für die DMARC-Ausrichtung. Mailgun verwendet automatisch Ihre Domain für den Return-Path im Format bounce+UNIQUEID@mail.captaindns.com:
- SPF wird automatisch bestanden, da der
include:mailgun.org-Eintrag Mailgun-IPs autorisiert, für Ihre Domain zu senden - SPF-Ausrichtung funktioniert im relaxed-Modus (der Return-Path
bounce+id@mail.captaindns.comentspricht der übergeordneten Domainmail.captaindns.com) - Keine separate Konfiguration erforderlich: Im Gegensatz zu anderen Anbietern benötigt Mailgun keine dedizierte Subdomain für die Bounce-Domain
Unterschied zu Mitbewerbern:
- SendGrid: Verwendet eine anpassbare Subdomain (
em1234.captaindns.com) - Amazon SES: Benötigt Custom MAIL FROM für SPF-Ausrichtung
- Mailgun: Verwendet direkt Ihre verifizierte Domain
Für eine strikte DMARC-Richtlinie (aspf=s) schlägt die SPF-Ausrichtung fehl, wenn Sie von einer anderen Subdomain als dem Return-Path senden. Die Lösung besteht darin, sich auf DKIM für die DMARC-Ausrichtung zu verlassen, das den strikten Modus (adkim=s) unterstützt.
Tracking-Domain (Link-Branding)
Die Tracking-Domain ersetzt Mailgun-Domains in getracke Links durch Ihre eigene Domain. Standardmäßig verwendet Mailgun email.mail.captaindns.com, das über CNAME auf mailgun.org (US) oder eu.mailgun.org (EU) zeigt.
Optionale HTTPS-Konfiguration: Mailgun generiert automatisch ein Let's Encrypt-Zertifikat, sobald der CNAME verifiziert ist.
Migration zu 2048-Bit-DKIM
Um eine manuelle TXT-Konfiguration (1024-Bit-Schlüssel) zu Automatic Sender Security (2048 Bit) zu migrieren, aktivieren Sie einfach Automatic Sender Security im Dashboard und erstellen dann die 2 neuen DKIM-CNAMEs. Der Übergang ist dank der beiden Selektoren reibungslos.
E-Mail-Authentifizierungsfluss: von der API zur Zustellbarkeit

Wenn Sie über Mailgun senden:
- Ihre Anwendung ruft die REST API auf oder verwendet SMTP
- Mailgun signiert die Nachricht mit Ihrem DKIM-Schlüssel (Domain
d=mail.captaindns.com) - Mailgun verwendet Ihre Domain im Return-Path (
bounce+id@mail.captaindns.com) - Der Empfänger-Server überprüft SPF (sendende IP), DKIM (Signatur), dann DMARC (Ausrichtung)
- SPF wird bestanden:
include:mailgun.orgautorisiert Mailgun-IPs, Return-Path verwendet Ihre Domain - DKIM wird bestanden: Signatur
d=mail.captaindns.comentspricht dem From-Header - DMARC wird bestanden: Mindestens SPF UND DKIM sind ausgerichtet (doppelte Validierung)
DMARC-Ausrichtung: Konfiguration für p=reject
Was funktioniert (und was nicht)
DKIM-Ausrichtung:
| Konfiguration | Ausgerichtet? | DMARC über DKIM? |
|---|---|---|
| Domain mit aktiviertem DKIM (TXT oder CNAME) | Ja | Ja |
SPF-Ausrichtung:
| Konfiguration | Ausgerichtet? | DMARC über SPF? |
|---|---|---|
| Return-Path verwendet Ihre Domain (nativ) | Ja | Ja |
| aspf=r (relaxed, Standard) | Ja | Ja |
| aspf=s (strict) + Versand von Subdomain | Nein | Nein (Subdomain-Nichtübereinstimmung) |
Empfohlener DMARC-Eintrag
_dmarc.captaindns.com TXT "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"
Wichtige Punkte:
adkim=rundaspf=r: Relaxed-Ausrichtung (erlaubt Subdomains)- Fortschritt von
p=none→p=quarantine→p=reject - Überwachen Sie
rua-Berichte, bevor Sie verschärfen - Mailgun-Vorteil: Native doppelte Ausrichtung (SPF + DKIM), besserer Schutz als nur mit DKIM
Vollständige DNS-Übersichtstabelle
| Typ | Host/Name | Wert | Erforderlich | Hinweise |
|---|---|---|---|---|
| TXT | mail.captaindns.com | v=spf1 include:mailgun.org ~all | ✅ Ja | SPF identisch US/EU |
| CNAME | pdk1._domainkey.mail.captaindns.com | pdk1._domainkey.XXXX.dkim1.mailgun.com | ✅ Ja | DKIM-Auto-Rotation |
| CNAME | pdk2._domainkey.mail.captaindns.com | pdk2._domainkey.XXXX.dkim1.mailgun.com | ✅ Ja | DKIM-Auto-Rotation |
| MX | mail.captaindns.com | mxa.mailgun.org (Priorität 10) | ✅ Ja | Bounces/Inbound |
| MX | mail.captaindns.com | mxb.mailgun.org (Priorität 10) | ✅ Ja | Bounces/Inbound |
| TXT | _dmarc.captaindns.com | v=DMARC1;p=reject;adkim=r;aspf=r;... | Empfohlen | DMARC-Richtlinie |
| CNAME | email.mail.captaindns.com | mailgun.org oder eu.mailgun.org | Optional | Tracking-Domain |
Dedizierte IP vs. gemeinsame IP: Zustellbarkeitsstrategie
Mailgun empfiehlt offiziell eine dedizierte IP ab 1 Million E-Mails pro Monat. Darunter bietet die gemeinsame IP in der Regel eine bessere Zustellbarkeit.
Gemeinsame IP (Free-, Foundation-, Basis-Growth-Pläne)
Vorteile:
- Kein Warmup erforderlich
- Reputation wird von Mailgun gepflegt
- Ideal für niedrige oder unregelmäßige Volumen
- Bessere anfängliche Zustellbarkeit als auf kalter dedizierter IP
Nachteile:
- Exposition gegenüber Reputationsrisiken anderer Absender im Pool (selten bei Mailgun dank strenger Kontrollen)
Dedizierte IP (Foundation 100k+, Growth, Scale, Enterprise)
Der Foundation 100k-Plan enthält 1 dedizierte IP (ab 75$/Monat). Jede zusätzliche IP kostet 59$/IP/Monat.
Offizielle Empfehlung: 1 dedizierte IP für ungefähr 1 Million E-Mails pro Monat Minimum.
Vorteile:
- Isolierte und kontrollierbare Reputation
- Automatische IP-Warmup-Funktion über 15 Schritte (~15+ Tage)
- Möglichkeit, Flows zu trennen (transaktional vs. Marketing) über IP-Pools
Automatisches IP-Warmup: Mailgun bietet ein progressives Warmup in 15 Schritten:
| Schritt | Tageslimit | Stundenlimit | Dauer |
|---|---|---|---|
| 1 | 1.000 | 100 | 24h |
| 2 | 2.500 | ~100 | 24h |
| 3 | 5.000 | Progressiv | 24h |
| ... | Progressiv | Progressiv | ... |
| 15 | Volle Kapazität | Unbegrenzt | Erreicht Tag 15+ |
Das System schreitet alle 24 Stunden einen Schritt voran, wenn die Limits erreicht werden. Überschüssiger Verkehr wird automatisch zu gemeinsamen IPs oder anderen verfügbaren dedizierten IPs geleitet.
IP-Pools: Verfügbar bei Scale- und höheren Plänen. Ermöglichen:
- Trennung von transaktionalen vs. Marketing-E-Mails
- Verschiedene Kunden/Marken (Multi-Tenant)
- Dynamische IP-Pools: Automatische Zuweisung basierend auf Reputationsgesundheit
Wichtiger Hinweis: Dedizierte IPs sind regionsgebunden (US oder EU). Eine Regionsmigration erfordert eine neue IP und ein neues Warmup.
Wann sollten Sie eine dedizierte IP wählen?
Sie benötigen eine dedizierte IP, wenn:
- Regelmäßiges Volumen > 1 Million E-Mails/Monat
- Notwendigkeit, transaktionale vs. Marketing-Reputation zu trennen
- Kundenwhitelisting-Anforderungen oder regulatorische Compliance
- Volumen > 2,5 Millionen E-Mails/Monat: Mehrere dedizierte IPs empfohlen
Bleiben Sie bei gemeinsamer IP, wenn:
- Volumen < 1 Million E-Mails/Monat
- Unregelmäßiger oder sporadischer Versand
- Geschäftsstart ohne Historie
- Rein transaktional mit niedrigem Volumen
Preise 2026 und aktuelle Entwicklung
Send-Pläne (Januar 2026)
| Plan | Preis/Monat | Enthaltene E-Mails | Überschreitung (/1000) | Log-Aufbewahrung | Dedizierte IP |
|---|---|---|---|---|---|
| Free | 0 $ | 100/Tag | N/A | 1 Tag | Nein |
| Flex | Pay-per-use | 1.000 kostenlos/Monat | 2,00 $ ⚠️ | 5 Tage | Nein |
| Foundation 50k | 35 $ | 50.000 | ~1,30 $ | 5 Tage | Nein |
| Foundation 100k | 75 $ | 100.000 | ~1,30 $ | 5 Tage | 1 enthalten |
| Growth | 80-650 $ | 100k-1M | Variabel | 15 Tage | 1 enthalten |
| Scale 100k | 90 $ | 100.000 | ~0,80-1,10 $ | 30 Tage | 1 enthalten |
| Scale (max) | 1.250 $ | 2,5M | Variabel | 30 Tage | 1 enthalten |
| Enterprise | Auf Anfrage | 2,5M+ | Verhandelt | 30 Tage | Mehrere |
Aktuelle Preisentwicklung
⚠️ Wesentliche Änderung (1. Dezember 2025): Der Flex-Plan stieg von 1,00 $ auf 2,00 $ pro 1.000 E-Mails – eine Erhöhung um 100%. Diese erhebliche Erhöhung macht Foundation-Pläne für Volumen > 25.000 E-Mails/Monat viel attraktiver.
Wirtschaftliche Analyse:
- Flex-Plan: 50.000 E-Mails = 49.000 bezahlt × 0,002 $ = 98 $
- Foundation 50k-Plan: 50.000 E-Mails = 35 $ (Ersparnis 63 $)
- Break-Even-Punkt: Der Foundation-Plan wird rentabel ab ~18.000 E-Mails/Monat
Optimize-Pläne (Zustellbarkeitstools)
| Plan | Preis/Monat | Validierungen | Inbox-Tests | Vorschauen |
|---|---|---|---|---|
| Pilot | 49 $ | 2.500 | 25 | 500 |
| Starter | 99 $ | 5.000 | 50 | 1.000 |
| Contract | Auf Anfrage | Angepasst | Angepasst | Angepasst |
Jahresrabatte
Nicht öffentlich dokumentiert. Enterprise-Kunden berichten von verhandelbaren Rabatten von 10%+.
US vs. EU-Preise
Die Preisgestaltung ist weltweit standardisiert in USD. Kein dokumentierter regionaler Unterschied zwischen US und EU.
Technische Limits und Kontingente
| Limit | Wert | Hinweise |
|---|---|---|
| Max. E-Mail-Größe | 25 MB | Körper + Anhänge + Header |
| Empfänger/Nachricht | 1.000 | To + Cc + Bcc kombiniert |
| Send-Options-Parameter | 16 KB | Parameter o:, h:, v:, t: |
| Vorlagen/Domain | 100 | Striktes Limit |
| Versionen/Vorlage | 10 | - |
| Domains (Free) | 5 | - |
| Domains (bezahlt) | 1.000 | - |
| Sandbox-Empfänger | 5 | Müssen verifiziert sein |
| Domains-API-Rate-Limit | 300 req/min | Einziger dokumentierter Endpunkt |
| Versand-Rate-Limit (neue Konten) | 100 Nachrichten/Stunde | Vor Geschäftsverifizierung |
| Zeitplanung max. | 3 Tage | 7 Tage bei Plan mit 7d+ Speicherung |
Datenaufbewahrung
| Daten | Aufbewahrung |
|---|---|
| Event-Logs (Free) | 1 Tag |
| Event-Logs (Foundation) | 5 Tage |
| Event-Logs (Growth) | 15 Tage |
| Event-Logs (Scale) | 30 Tage (max) |
| Nachrichteninhalt | 1-7 Tage (konfigurierbar) |
| Stündliche Statistiken | 60 Tage |
| Tägliche Statistiken | 1 Jahr |
| Monatliche Statistiken | Unbegrenzt |
| Kritische Sicherheitslogs | 365 Tage |
Bounce- und Suppressions-Verwaltung
Hard Bounce (permanenter Fehler)
| Verhalten | Detail |
|---|---|
| Aktion | Adresse zur Suppressionsliste hinzugefügt |
| Blockdauer | Unbegrenzt (bis zur manuellen Entfernung) |
| Zurückgegebener Fehler | "Not delivering to previously bounced address" |
Soft Bounce (temporärer Fehler)
| Verhalten | Detail |
|---|---|
| Retry | Automatisch für sofortige Soft Bounces |
| Dauer | Bis zum Erfolg oder permanenten Klassifizierung |
| Konvertierung | Nach mehreren Fehlern zur Bounce-Liste hinzugefügt |
Spam-Beschwerden (FBL)
Mailgun abonniert automatisch Feedback Loops großer ISPs. Beschwerden lösen aus:
- Automatisches Hinzufügen zur Complaints-Liste
complained-Webhook gesendet- Blockierung zukünftiger Sendungen an diese Adresse
Unterstützte ISPs: Yahoo, Microsoft/Outlook, Comcast, Cox, Fastmail und andere über Universal Feedback Loop. Hinweis: Gmail bietet keine traditionelle FBL.
Automatisches Abmelden
Mailgun fügt automatisch hinzu:
List-Unsubscribe-HeaderList-Unsubscribe-Post: List-Unsubscribe=One-Click-Header
RFC 8058-konform und erfüllt Gmail/Yahoo-Anforderungen für Massen-Absender (5000+ Nachrichten/Tag).
Suppressionslisten-API
| Liste | Endpunkt |
|---|---|
| Bounces | GET/POST/DELETE /v3/{domain}/bounces |
| Complaints | GET/POST/DELETE /v3/{domain}/complaints |
| Unsubscribes | GET/POST/DELETE /v3/{domain}/unsubscribes |
| Allowlist | GET/POST/DELETE /v3/{domain}/allowlist |
Die Allowlist verhindert, dass Adressen zur Bounces-Liste hinzugefügt werden, überschreibt jedoch nicht Complaints oder Unsubscribes.
Event-Webhook und Echtzeit-Tracking
Der Event-Webhook ermöglicht Echtzeit-Benachrichtigungen über Zustellung, Engagement und Compliance.
Verfügbare Events
- Zustellung:
accepted,delivered,temporary_fail,permanent_fail - Engagement:
opened,clicked - Compliance:
complained,unsubscribed
JSON-Payload-Format
{
"signature": {
"timestamp": "1529006854",
"token": "a8ce0edb2dd8301dee6c2405235584e45aa91d1e9f979f3de0",
"signature": "d2271d12299f6592d9d44cd9d250f0704e4674c30d79d07c47a66f95ce71cf55"
},
"event-data": {
"event": "delivered",
"timestamp": 1529006854.329574,
"id": "DACSsAdVSeGpLid7TN03WA",
"recipient": "recipient@captaindns.com",
"tags": [],
"message": {
"headers": {
"message-id": "20180618211821.captaindns.com"
}
}
}
}
Retry-Richtlinie
| Antwortcode | Aktion |
|---|---|
| 200 | Erfolg, kein Retry |
| 406 | Abgelehnt, kein Retry |
| Andere | Retry gemäß Zeitplan |
Retry-Zeitplan: 5min → 10min → 15min → 1h → 2h → 4h (gesamt: 8 Stunden)
Sicherheit (HMAC-Signatur)
| Element | Wert |
|---|---|
| Algorithmus | HMAC-SHA256 |
| Schlüssel | Webhook Signing Key (Control Panel → Account Security) |
| Berechnung | HMAC-SHA256(timestamp + token, signingKey) |
Python-Beispiel:
import hmac, hashlib
def verify(api_key, token, timestamp, signature):
expected = hmac.new(api_key.encode(), f"{timestamp}{token}".encode(),
hashlib.sha256).hexdigest()
return signature == expected
Konfiguration
- Bis zu 3 URLs pro Event-Typ pro Domain
- Konfiguration auf Domain-Ebene (nicht Konto)
- API:
POST /v3/domains/{domain}/webhooks
Handlebars-Vorlagen
Mailgun verwendet Handlebars (angepasste Version) für gespeicherte Vorlagen.
Variablensyntax
| Kontext | Syntax |
|---|---|
| Gespeicherte Vorlagen | {{variable}} |
| Inline-Batch-Versand (API) | %recipient.variable% |
Bedingungen und Schleifen
{{#if bedingung}}
Inhalt wenn wahr
{{else if andereBedingung}}
Alternativer Inhalt
{{else}}
Standard-Inhalt
{{/if}}
{{#unless bedingung}}
Inhalt wenn falsch
{{/unless}}
{{#equal variable "wert"}}
Inhalt wenn gleich
{{/equal}}
{{#each array}}
<li>{{this.eigenschaft}}</li>
{{/each}}
{{#with objekt}}
{{verschachtelteEigenschaft}}
{{/with}}
Vorlagen-Limits
| Limit | Wert |
|---|---|
| Vorlagen pro Domain | 100 |
| Versionen pro Vorlage | 10 |
| Vorlagengröße | Undokumentiert |
| Partials (Import) | Nicht unterstützt |
Zusätzliche Funktionen
E-Mail-Validierungs-API
| Attribut | Wert |
|---|---|
| Einzel-Endpunkt | GET /v4/address/validate?address=... |
| Bulk-Endpunkt | POST /v4/address/validate/bulk/{list_id} |
| Datenbank | 450+ Milliarden E-Mails |
| Foundation-Rate | 1,20 $/100 Validierungen |
| Scale-Rate | 5.000 enthalten, dann 0,80 $/100 |
Durchgeführte Validierungen: RFC-Syntax, MX-Einträge, Mailbox-Existenz, Mailgun-Netzwerk-Bounces, riskante Adressen, rollenbasierte Adressen, Wegwerf-E-Mails, Domain-Tippfehler, Catch-All-Domains.
Inbound Parse (Routen)
Ermöglicht das Empfangen von E-Mails und deren Weiterleitung an eine Webhook-URL:
Filter: match_recipient(), match_header(), catch_all()
Aktionen: forward("https://url"), forward("email@"), store(), stop()
Inbound-Retry: bis zu 8 Stunden (10min, 15min, 30min, 1h, 2h, 4h) Gespeicherte Nachrichtenaufbewahrung: 3 Tage
Anhänge
| Limit | Wert |
|---|---|
| Gesamte Nachrichtengröße | 25 MB (Körper + Anhänge + Header) |
| Dateitypen | Keine dokumentierte Einschränkung |
| Inline (CID) | Unterstützt über inline-Parameter |
AMP für E-Mail
Unterstützt seit 2019 über den amp-html-Parameter. Erfordert:
- Registrierung als AMP-Absender bei Google
- SPF, DKIM, DMARC konfiguriert
- Obligatorischer HTML-Fallback
Sicherheit und Compliance
Zertifizierungen
| Zertifizierung | Status |
|---|---|
| ISO 27001 | ✅ Zertifiziert |
| ISO 27701 | ✅ Zertifiziert (Datenschutz) |
| SOC 2 Type I | ✅ Zertifiziert |
| SOC 2 Type II | ✅ Zertifiziert |
| SOC 1 (SSAE-16) | ✅ Zertifiziert |
| PCI-DSS | ✅ Konform (SAQ-A) |
| CSA Star Level 1 | ✅ Konform |
DSGVO
| Element | Detail |
|---|---|
| DPA | Verfügbar: mailgun.com/legal/dpa/ |
| EU-Datenspeicherort | Deutschland |
| EU-Endpunkte | api.eu.mailgun.net, smtp.eu.mailgun.org |
| Datenresidenz | Nachrichten werden nie außerhalb der Region übertragen |
| DSB | Dediziert, EU-basiert |
HIPAA
| Element | Detail |
|---|---|
| Status | ✅ Konform |
| BAA | Verfügbar: mailgun.com/legal/hipaa-baa/ |
| Voraussetzungen | Client-seitige Verschlüsselungskonfiguration, Patienteneinwilligung, signierte BAA |
TLS-Verschlüsselung
| Version | Status |
|---|---|
| TLS 1.0 | ❌ Veraltet (März 2021) |
| TLS 1.1 | ❌ Veraltet (März 2021) |
| TLS 1.2 | ✅ Unterstützt |
| TLS 1.3 | ✅ Unterstützt |
Verschlüsselung im Ruhezustand: AES-256
Erweiterte Authentifizierung
| Funktion | Verfügbarkeit |
|---|---|
| 2FA | ✅ Alle Pläne |
| SSO | ✅ Scale und Enterprise |
| SAML 2.0 | ✅ Scale und Enterprise |
| Unterstützte IdP | Okta, Auth0, OneLogin, Azure AD, ADFS, AWS IAM |
| RBAC | ✅ Scale und Enterprise (Admin, Developer, Analyst, Support) |
Aktionsplan: 6-Schritte-Konfiguration
1. Konto erstellen und Domain konfigurieren
- Mailgun-Konto erstellen unter mailgun.com/signup
- Region wählen (US oder EU je nach DSGVO-Anforderungen)
- Eine Sandbox-Domain wird automatisch erstellt (100 E-Mails/Tag)
2. Domain verifizieren (Domain Verification)
- Gehen Sie zu Sending > Domains > Add New Domain
- Geben Sie Ihre Versand-Domain ein (z.B.
mail.captaindns.com) - Automatic Sender Security aktivieren (empfohlen)
- DNS-Einträge bei Ihrem Registrar erstellen:
- SPF TXT:
v=spf1 include:mailgun.org ~all - DKIM CNAME pdk1:
pdk1._domainkey.mail.captaindns.com - DKIM CNAME pdk2:
pdk2._domainkey.mail.captaindns.com - MX mxa:
mxa.mailgun.org(Priorität 10) - MX mxb:
mxb.mailgun.org(Priorität 10)
- SPF TXT:
- DNS-Propagation überprüfen (24-48h)
3. DMARC-Eintrag veröffentlichen
DMARC-Eintrag auf Ihrer Hauptdomain erstellen:
_dmarc.captaindns.com TXT "v=DMARC1;p=none;rua=mailto:dmarc@captaindns.com;aspf=r;adkim=r"
Beginnen Sie mit p=none für Monitoring, dann zu p=quarantine dann p=reject, sobald Berichte validiert sind.
4. Versandmethode wählen und konfigurieren
Option A: REST API
- API-Schlüssel generieren unter Settings > API Keys
- Berechtigungen wählen (Full Access oder Domain Sending Keys für begrenzten Bereich)
POST /v3/{domain}/messages-Endpunkt implementieren- Vorlagen erstellen unter Sending > Templates falls benötigt
Option B: SMTP Relay
- Domain-SMTP-Passwort abrufen unter Sending > Domains > Domain settings > SMTP credentials
- App/Plugin/Mail-Server konfigurieren:
- Host:
smtp.mailgun.org(US) odersmtp.eu.mailgun.org(EU) - Port:
587(STARTTLS empfohlen) - Benutzer:
postmaster@mail.captaindns.com - Passwort: das Domain-SMTP-Passwort
- Host:
5. Webhooks konfigurieren
- Gehen Sie zu Sending > Webhooks
- Endpunkt-URL definieren (HTTPS empfohlen)
- Events auswählen (delivered, bounced, opened, clicked, etc.)
- Webhook Signing Key abrufen zur Validierung von HMAC-Signaturen
6. Testen und überwachen
- Test-E-Mail über API oder SMTP senden
- In Sending > Logs überprüfen, dass die E-Mail zugestellt wurde
- Webhook-Events auf Ihrem Endpunkt überprüfen
- Statistiken überwachen (Zustellbarkeit, Öffnungsrate, Bounce-Rate)
- Für Produktion Sandbox-Modus verlassen durch Kontaktaufnahme mit Mailgun-Support (Geschäftsverifizierung)
Technische Anleitungen: andere transaktionale E-Mail-Plattformen
Entdecken Sie unsere vollständigen Anleitungen für andere transaktionale E-Mail-Lösungen:
- Postmark: DKIM-Konfiguration und REST API - Zustellbarkeits-Spezialist, 1024-Bit DKIM, Message Streams
- SendGrid: Domain-Authentifizierung und Web API v3 - 2048-Bit DKIM mit Rotation, dedizierte IP ab 50k/Monat
- Amazon SES: Easy DKIM und Custom MAIL FROM - $0.10/1000 E-Mails, 7 EU-Regionen
- Mailjet: API v3.1 und DKIM-Konfiguration - 2048/4096-Bit DKIM, Sinch-Übernahme
- Mandrill: Mailchimp transaktionale Integration - Mailchimp Standard Voraussetzung, 25k E-Mail-Blöcke
- Brevo: DKIM- und SPF-Konfiguration - 300 kostenlose E-Mails/Tag, DKIM TXT oder CNAME
FAQ
Was ist der Unterschied zwischen primärem API-Schlüssel und Domain Sending Keys?
Der primäre API-Schlüssel (Primary Account API Key) gibt vollständigen CRUD-Zugriff auf alle Konto-APIs. Domain Sending Keys sind auf nur Versand (POST /messages) für eine bestimmte Domain beschränkt. Verwenden Sie Domain Sending Keys in Ihren Apps, um die Angriffsfläche im Falle einer Kompromittierung zu begrenzen.
Warum generiert Mailgun zwei DKIM-Selektoren (pdk1 und pdk2)?
Die zwei Selektoren ermöglichen die automatische DKIM-Schlüsselrotation alle 120 Tage ohne Serviceunterbrechung. Wenn Mailgun Schlüssel aus Sicherheitsgründen erneuern möchte, generiert es einen neuen Schlüssel auf pdk2, während pdk1 noch aktiv ist, und wechselt dann schrittweise den Verkehr. Dies vermeidet jegliche Zustellbarkeitsunterbrechung während des Schlüsselwechsels.
Muss ich ein Custom MAIL FROM wie bei Amazon SES konfigurieren?
Nein, im Gegensatz zu Amazon SES, das Custom MAIL FROM für SPF-Ausrichtung erfordert, verwendet Mailgun automatisch Ihre verifizierte Domain im Return-Path (bounce+id@mail.captaindns.com). SPF-DMARC-Ausrichtung funktioniert nativ ab Domain-Konfiguration, ohne separate Einrichtung.
Wie funktioniert der Testmodus ohne Credits zu verbrauchen?
Verwenden Sie den o:testmode=yes-Parameter (API) oder den X-Mailgun-Drop-Message: yes-Header (SMTP). Nachrichten werden akzeptiert, aber nicht zugestellt, generieren ein delivered-Event mit Code 650. Ideal zum Testen der Anfragestruktur und des Payload-Formats ohne tatsächlichen E-Mail-Versand.
Was ist das echte Limit von Empfängern pro API-Aufruf?
Maximal 1.000 Empfänger pro Aufruf (to + cc + bcc kombiniert). Darüber hinaus in mehrere Aufrufe aufteilen. Um an 10.000 Personen zu senden, benötigen Sie 10 API-Aufrufe. Verwenden Sie Empfängervariablen, um den Inhalt jedes Empfängers im selben Batch zu personalisieren.
Ist der Flex-Plan für Produktion mit variablem Volumen geeignet?
Seit der Tarifverdoppelung (2,00 $/1000 E-Mails im Dezember 2025) ist der Flex-Plan weniger wettbewerbsfähig geworden. Für mehr als 18.000 E-Mails/Monat ist der Foundation 50k-Plan (35 $/Monat) kosteneffizienter. Flex bleibt interessant für sehr niedrige und unregelmäßige Volumen (< 10.000/Monat) oder zum Testen vor einer Verpflichtung.
Sollte ich eine dedizierte IP für mein Projekt erhalten?
Wahrscheinlich nicht. Eine dedizierte IP erfordert ein Mindestvolumen von 1 Million E-Mails pro Monat mit regelmäßigem Versand. Sie erfordert ein 15+ Tage Warmup und kostet 59 $/IP/Monat zusätzlich (oder enthalten ab Foundation 100k). Wenn Ihr Volumen niedriger ist oder Ihre Sendungen unregelmäßig sind, bleiben Sie bei gemeinsamer IP. Mailguns Reputation auf gemeinsamer IP ist ausgezeichnet.
Sind API-Rate-Limits dokumentiert?
Nein, Mailgun dokumentiert keine spezifischen Rate-Limits pro Endpunkt öffentlich, außer für die Domains-API (300 req/min). Neue Konten können vor Geschäftsverifizierung auf 100 Nachrichten/Stunde begrenzt sein. Die X-RateLimit-*-Header in Antworten zeigen Ihr Echtzeit-Kontingent an. Im Falle von 429 implementieren Sie exponentielles Backoff.
Glossar
-
REST API: Mailguns HTTP-API zum Senden von Transaktions-E-Mails. Haupt-Endpunkt:
POST /v3/{domain}/messages. Authentifizierung: HTTP Basic Auth (api:YOUR_API_KEY). Empfohlene Methode für jede neue Integration. -
SMTP Relay: Mailguns SMTP-Server (
smtp.mailgun.org), der das Senden über Standard-SMTP-Protokoll ermöglicht. Authentifizierung: SASL/PLAIN (postmaster@ + SMTP-Passwort). Verfügbare Ports: 587 (STARTTLS), 465 (direktes TLS), 2525 (GCE-Fallback). -
Domain Verification: DNS-Konfiguration zur Authentifizierung Ihrer Domain mit Mailgun. Generiert SPF-, DKIM-, MX-Einträge. Mit Automatic Sender Security: 2 DKIM-CNAMEs (pdk1 und pdk2) für automatische Rotation alle 120 Tage, 2048-Bit-Schlüssel standardmäßig.
-
Return-Path (Envelope From): Technische Adresse für SMTP-Routing und Bounces. Mailgun verwendet automatisch Ihre Domain (
bounce+id@mail.captaindns.com), was relaxed SPF-Ausrichtung für DMARC ohne separate Konfiguration ermöglicht. Großer Unterschied zu SendGrid (Subdomainem1234) und Amazon SES (Custom MAIL FROM erforderlich). -
Automatic Sender Security: Empfohlene Option für Domain Verification. Generiert 2 DKIM-CNAMEs statt TXT, ermöglicht automatische DKIM-Schlüsselrotation alle 120 Tage und verwendet 2048-Bit-Schlüssel standardmäßig.
-
Empfängervariablen: Mechanismus zur Personalisierung des Inhalts jedes Empfängers bei Batch-Versand. Syntax:
%recipient.variable%in der Nachricht, mit einem JSON, das jede E-Mail ihren Variablen zuordnet. Ermöglicht das Senden von bis zu 1.000 personalisierten Versionen in einem einzigen API-Aufruf. -
IP-Warmup: Automatischer Hochlaufprozess für eine neue dedizierte IP. Zeitplan über 15 Schritte: von 1.000 E-Mails/Tag (Tag 1) bis volle Kapazität (Tag 15+). Das System schreitet alle 24h einen Schritt voran, wenn Limits erreicht werden. Überschüssiger Verkehr wird zu gemeinsamen IPs geleitet.
-
IP-Pools: Gruppen dedizierter IPs, die verschiedenen Flows zuweisbar sind (transaktional vs. Marketing, pro Kunde, pro Marke). Verfügbar bei Scale- und Enterprise-Plänen. Ermöglichen Reputationstrennung. Dynamische IP-Pools: Automatische Zuweisung basierend auf Reputationsgesundheit.
-
Event-Webhook: HTTP-Endpunkt, der von Mailgun bei Events aufgerufen wird (accepted, delivered, opened, clicked, bounced, complained, unsubscribed). Konfiguration: bis zu 3 URLs pro Event-Typ. Retry für 8h bei Fehler. Sicherheit: HMAC-SHA256-Signatur.
-
Handlebars: Vorlagensprache von Mailgun für gespeicherte Vorlagen. Unterstützt Variablen
{{variable}}, Bedingungen{{#if}}, Schleifen{{#each}}, Helfer{{#equal}}. Limit: 100 Vorlagen pro Domain, 10 Versionen pro Vorlage. Keine Partials-Unterstützung. -
Sandbox-Modus: Testmodus, der Anfrageformat validiert ohne tatsächlichen E-Mail-Versand. Aktivieren über
o:testmode=yes(API) oderX-Mailgun-Drop-Message: yes(SMTP). Generiert eindelivered-Event mit Code 650. Verbraucht keine Credits. Limit: 5 verifizierte Empfänger. -
Suppressions: Automatisch von Mailgun gepflegte Sperrlisten (Bounces, Complaints, Unsubscribes). Adressen werden standardmäßig unbegrenzt unterdrückt. Verwaltung über API:
GET/POST/DELETE /v3/{domain}/{bounces|complaints|unsubscribes}. Allowlist: Verhindert Hinzufügen zu Bounces, überschreibt jedoch nicht Complaints/Unsubscribes. -
Domain Sending Keys: API-Schlüssel, die auf nur Versand (POST /messages) für eine bestimmte Domain beschränkt sind. Im Gegensatz zum primären API-Schlüssel (vollständiger CRUD-Zugriff) reduzieren sie die Angriffsfläche. Empfohlen für Produktions-Apps.
-
RBAC API Keys (Scale+): API-Schlüssel mit vordefinierten Rollen: Admin (vollständiger Lese-/Schreibzugriff), Developer (vollständiger technischer Zugriff), Analyst (nur Metriken lesen), Support (Lesen + Suppressions-Verwaltung). Nur verfügbar bei Scale- und Enterprise-Plänen.


