Zum Inhalt springen

Mailjet

Mailjet (gehört zu Sinch) ist eine europäische E-Mail-Plattform für Transaktions- und Marketing-E-Mails. Die Daten liegen standardmäßig in der EU, und es gibt einen brauchbaren kostenlosen Tarif – deshalb ist Mailjet bei kleinen Unternehmen in Europa beliebt.

Wählen Sie Mailjet, wenn Sie einen Anbieter mit Sitz in der EU und einem Gratiskontingent suchen oder bereits Newsletter über Mailjet versenden und Transaktions-E-Mails über dasselbe Konto schicken möchten. Für reinen Transaktionsversand mit stärkstem Fokus auf Zustellbarkeit siehe Postmark; für Hosting in der EU mit einer API für Entwickler Mailgun EU. Vergleich: Übersicht der E-Mail-Dienste.

  • Ein Mailjet-Konto (neue Konten durchlaufen eventuell eine kurze Aktivierungsprüfung).
  • Ein validierter Absender: Fügen Sie Ihre Domain unter Account settings → Senders & Domains → Add domain hinzu und authentifizieren Sie sie (SPF + DKIM), oder validieren Sie mindestens die einzelne Absenderadresse.
  • Ein API-Schlüsselpaar (API Key + Secret Key). Mailjet-Schlüssel lassen sich nicht auf bestimmte Berechtigungen einschränken; die Variante mit den geringsten Rechten ist daher ein eigener Sub-Account-Schlüssel: Account settings → REST API → API Key Management → Create a sub-account API key. Ein Sub-Account hat eigene Absender, Statistiken und ein eigenes Kontingent und lässt sich widerrufen, ohne Ihren Hauptschlüssel anzutasten.
  1. Öffnen Sie E-Mail-Dienste → Dienst hinzufügen → Mailjet.
  2. Füllen Sie die Felder aus:
Feld Wo Sie es finden Beispiel
API-Schlüssel Account settings → REST API → API Key Management a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Geheimer Schlüssel Auf derselben Seite (zum Anzeigen klicken; kann neu erzeugt werden) f6e5d4c3b2a1…
Webhook-Benutzername Optional – der Benutzername, den Sie in die Webhook-URL einsetzen (siehe unten) frontmail
Webhook-Passwort Optional – das zugehörige Passwort langer-zufaelliger-text
Max. E-Mails pro Sekunde Optional; Standard 10/s 5
  1. Klicken Sie auf Prüfen & speichern – Frontmail ruft die Mailjet-API mit dem Schlüsselpaar auf.
  2. Ist die Prüfung erfolgreich, wird der Dienst gespeichert. Beide Schlüssel werden mit AWS KMS per Envelope-Verschlüsselung verschlüsselt.

Mailjet zeigt die Werte unter Senders & Domains → Ihre Domain → Authentication settings an:

; SPF – mit Ihrem bestehenden SPF-Eintrag zusammenführen (nur einer pro Domain!)
example.com. TXT "v=spf1 include:spf.mailjet.com ~all"
; DKIM
mailjet._domainkey.example.com. TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD…"
; Nachweis der Domain-Inhaberschaft (nur wenn Mailjet danach fragt)
mailjet._a1b2c3d4.example.com. TXT "a1b2c3d4e5f6…"
; DMARC
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
  • Haben Sie bereits v=spf1 include:_spf.google.com ~all, ändern Sie den Eintrag in v=spf1 include:_spf.google.com include:spf.mailjet.com ~all – legen Sie keinen zweiten SPF-Eintrag an.
  • Der Envelope-Absender von Mailjet ist eine eigene Bounce-Domain von Mailjet, daher hängt die DMARC-Ausrichtung an DKIM – achten Sie darauf, dass DKIM OK anzeigt.
  • Beginnen Sie DMARC mit p=none und verschärfen Sie später.

Frontmail kommuniziert mit api.mailjet.com. Mailjet speichert Daten standardmäßig in der EU. Für dort angelegte Konten betreibt Mailjet außerdem eine separate US-Infrastruktur (api.us.mailjet.com) – Frontmail unterstützt derzeit nur den Standard-Endpunkt; verwenden Sie also ein Konto, das auf der Standardplattform (EU) angelegt wurde.

  • Kostenloser Tarif: 200 E-Mails pro Tag, 6.000 pro Monat.
  • Bezahlte Tarife heben das Tageslimit auf und werden monatlich abgerechnet.
  • Bei hohen Bounce- oder Beschwerderaten kann das Compliance-Team von Mailjet neue Konten zur Prüfung sperren; bis die Prüfung abgeschlossen ist, ist der Versand blockiert.
  • Das API-Flag SandboxMode von Mailjet validiert Nachrichten, ohne sie zu senden; Frontmail nutzt es nicht.

Mailjet nennt sie Event notifications (Webhooks).

  1. Kopieren Sie die Webhook-URL auf der Seite des Dienstes in Frontmail (Kopier-Schaltfläche):

    https://api.frontmail.dev/webhooks/providers/mailjet/<token>
  2. Empfohlen: Schützen Sie sie mit Basic Auth. Mailjet hat kein eigenes Feld für die Authentifizierung – setzen Sie die Zugangsdaten daher in die URL ein und tragen Sie dieselben Werte in Frontmail in die Felder Webhook-Benutzername / Webhook-Passwort ein:

    https://frontmail:long-random-string@api.frontmail.dev/webhooks/providers/mailjet/<token>
  3. Öffnen Sie in Mailjet Account settings → Event notifications (webhooks) und fügen Sie die URL für diese Ereignisse ein:

Mailjet-Ereignis Frontmail-Ereignis
Sent (vom Server des Empfängers angenommen) delivered
Bounce – hard_bounce: true bounced – wird auf die Sperrliste gesetzt
Bounce – weich, Blocked wird als Soft Bounce protokolliert
Spam complained – wird auf die Sperrliste gesetzt
Open opened
Click clicked
  1. Mailjet sendet beim Speichern einen Testaufruf; das Ereignis sollte im Ereignisprotokoll des Dienstes erscheinen.

Signaturprüfung: Mailjet signiert Ereignisdaten nicht. Der geheime Token in der URL identifiziert den Dienst, und wenn Sie ein Webhook-Passwort festlegen, lehnt Frontmail jede Anfrage ab, deren Basic Auth nicht übereinstimmt.

Frontmail setzt die CustomID von Mailjet auf die Frontmail-Nachrichten-ID, damit Ereignisse der richtigen Nachricht zugeordnet werden.

  • auth – der Dienst funktioniert nicht (falscher API Key/Secret Key, 401/403, Absender oder Domain nicht validiert, Konto gesperrt). Der Dienst wird als unhealthy markiert; der Inhaber erhält eine E-Mail und einen Hinweis im Dashboard. Ein Ersatzdienst der Vorlage übernimmt; ohne ihn wird der Credit erstattet und die Nachricht wartet als held_service_error in der Warteschlange zurückgehaltener E-Mails. Sie wird automatisch gesendet, sobald Sie den Dienst reparieren (geprüft beim Speichern und bei der täglichen Statusprüfung).
  • permanent – diese Nachricht lässt sich nicht senden (ungültiger Empfänger, Validierungsfehler 400). Ersatzdienst, falls eingerichtet, sonst failed und Erstattung des Credits.
  • transient – 5xx, 429, Timeouts. Wiederholung mit exponentiellem Backoff; nach dem letzten Versuch failed und Erstattung.
Mailjet-Antwort Klasse Was tun
401 – API key authentication/authorization failure auth Prüfen Sie das Paar aus API Key und Secret Key; erzeugen Sie es bei Bedarf neu.
403 – Forbidden / Konto gesperrt oder in Prüfung auth Prüfen Sie das Mailjet-Dashboard und wenden Sie sich an den Mailjet-Support.
400 – „The sender … is not validated / not authorized“ auth Validieren Sie die Absenderadresse oder Domain unter Senders & Domains (im richtigen Sub-Account).
400 mj-0013 – „… is an invalid email address“ permanent Siehe ungültiger Empfänger.
400 – andere Validierungsfehler (Betreff zu lang, Anhang zu groß) permanent Korrigieren Sie die Vorlage; siehe HTML-Vorlagen.
429 – Too many requests transient Raten- oder Tageslimit erreicht; Frontmail wiederholt automatisch. Senken Sie Max. E-Mails pro Sekunde.
500 / 503, Timeout transient Ausfall bei Mailjet – Frontmail wiederholt automatisch.
  • Domain in Mailjet hinzugefügt und authentifiziert (SPF-Include + mailjet._domainkey)
  • Ein zusammengeführter SPF-Eintrag; DMARC p=none
  • Eigenes API-Schlüsselpaar eines Sub-Accounts
  • Verbindung testen erfolgreich
  • URL für Event Notifications mit Basic-Auth-Zugangsdaten, dieselben Werte in Frontmail
  • Ereignisse aktiviert: Sent, Bounce, Blocked, Spam (+ Open, Click)
  • Tägliches Volumen innerhalb des Limits Ihres Tarifs