Brevo
Brevo (ehemals Sendinblue) ist eine französische All-in-one-Marketingplattform – Newsletter, SMS, CRM – mit integrierter API für Transaktions-E-Mails. Die Daten liegen in der EU, und der kostenlose Tarif erlaubt einige hundert E-Mails pro Tag.
Wählen Sie Brevo, wenn Sie es bereits für Newsletter oder CRM nutzen und alles an einem Ort haben möchten, oder wenn Sie einen Anbieter mit Hosting in der EU und großzügigem täglichem Gratiskontingent suchen. Wenn Sie nur Transaktions-E-Mails mit bestmöglicher Zustellbarkeit brauchen, vergleichen Sie mit Postmark oder Mailgun in der Übersicht der E-Mail-Dienste.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Ein Brevo-Konto mit aktiviertem Transaktionsversand. Neue Konten werden manchmal erst geprüft, bevor sie Transaktions-E-Mails senden dürfen.
- Ein verifizierter Absender: Fügen Sie Ihre Domain unter Senders, Domains & Dedicated IPs → Domains hinzu, authentifizieren Sie sie und legen Sie die Absenderadresse unter Senders an.
- Ein v3-API-Schlüssel unter SMTP & API → API keys → Generate a new API key (beginnt mit
xkeysib-). Brevo-API-Schlüssel lassen sich nicht einschränken – erstellen Sie einen eigenen Schlüssel, z. B. mit dem Namen „Frontmail“, damit Sie ihn unabhängig widerrufen können. Verwenden Sie nicht den SMTP-Schlüssel (xsmtpsib-…); Frontmail nutzt die HTTP-API. - Wenn für Ihr Konto Authorised IPs (Sicherheitseinstellungen) aktiviert ist, deaktivieren Sie die Funktion oder fügen Sie die ausgehenden IPs von Frontmail hinzu – sonst wird jeder Aufruf mit
403 unrecognised IP addressabgelehnt.
In Frontmail verbinden
Abschnitt betitelt „In Frontmail verbinden“- Öffnen Sie E-Mail-Dienste → Dienst hinzufügen → Brevo.
- Füllen Sie die Felder aus:
| Feld | Wo Sie es finden | Beispiel |
|---|---|---|
| API-Schlüssel (v3) | SMTP & API → API keys (wird nur einmal angezeigt) | xkeysib-1a2b3c…-XyZ |
| Webhook-Token | Optional – der Token, den Sie für den Brevo-Webhook festlegen (siehe unten) | 9f8e7d6c5b4a… |
| Max. E-Mails pro Sekunde | Optional; Standard 10/s | 10 |
- Klicken Sie auf Prüfen & speichern – Frontmail liest mit dem Schlüssel Ihre Brevo-Kontodaten aus.
- Ist die Prüfung erfolgreich, wird der Dienst gespeichert. Zugangsdaten werden mit AWS KMS per Envelope-Verschlüsselung verschlüsselt.
DNS: SPF, DKIM und DMARC
Abschnitt betitelt „DNS: SPF, DKIM und DMARC“Brevo listet die Einträge unter Senders, Domains & Dedicated IPs → Domains → Authenticate auf. Typische Werte:
; Code zum Nachweis der Domain-Inhaberschaftexample.com. TXT "brevo-code:1a2b3c4d5e6f7a8b9c0d"
; DKIM – neuere Domains erhalten zwei CNAMEs, ältere einen einzelnen TXT unter mail._domainkeybrevo1._domainkey.example.com. CNAME b1.example-com.dkim.brevo.com.brevo2._domainkey.example.com. CNAME b2.example-com.dkim.brevo.com.
; SPF – in Ihren bestehenden Eintrag einfügenexample.com. TXT "v=spf1 include:spf.brevo.com ~all"
; DMARC_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"- Kopieren Sie die genauen Namen und Werte der Einträge aus Brevo – das DKIM-Format hat sich im Lauf der Zeit geändert (TXT unter
mail._domainkeyvs. CNAMEsbrevo1/brevo2), und ältere Konten zeigen möglicherweise nochinclude:spf.sendinblue.com. - Brevo setzt für die Domain-Authentifizierung einen DMARC-Eintrag voraus;
p=nonereicht für den Anfang. Verschärfen Sie nach Auswertung der Berichte aufp=quarantine/p=reject.
Regionen
Abschnitt betitelt „Regionen“Brevo hat einen einzigen API-Endpunkt (api.brevo.com/v3) und hostet die Daten in der EU. In Frontmail gibt es nichts auszuwählen.
Sandbox & Limits
Abschnitt betitelt „Sandbox & Limits“- Kostenloser Tarif: 300 E-Mails pro Tag (Transaktions- und Marketing-E-Mails zusammen).
- Bezahlte Tarife richten sich nach dem monatlichen E-Mail-Volumen; sind die Credits bei Brevo aufgebraucht, antwortet Brevo mit
402 not_enough_credits, was Frontmail als auth-Fehler behandelt (der Dienst ist unbrauchbar, bis Sie aufladen). - Kontovalidierung: Bis Brevo Ihr Konto validiert hat, kann die API Sendungen mit
account_under_validationablehnen. - Brevo unterstützt für Probeläufe den Header
X-Sib-Sandbox: drop; Frontmail nutzt ihn nicht.
Webhooks (Zustellverfolgung)
Abschnitt betitelt „Webhooks (Zustellverfolgung)“-
Kopieren Sie die Webhook-URL auf der Seite des Dienstes in Frontmail (Kopier-Schaltfläche):
https://api.frontmail.dev/webhooks/providers/brevo/<token> -
Öffnen Sie in Brevo Transactional → Settings → Webhook → Add a new webhook (neuere Oberfläche: Settings → Webhooks → Transactional).
-
Fügen Sie die URL ein und wählen Sie bei der Authentifizierung Token. Erzeugen Sie einen langen zufälligen Token und fügen Sie ihn in Brevo und in Frontmail in das Feld Webhook-Token ein. Brevo sendet dann bei jedem Aufruf
Authorization: Bearer <token>. (Basic Auth funktioniert ebenfalls – verwenden Sie den Token als Passwort.) -
Wählen Sie die Ereignisse aus:
| Brevo-Ereignis | Frontmail-Ereignis |
|---|---|
| Delivered | delivered |
| Hard bounce, Invalid email | bounced (hart) – wird auf die Sperrliste gesetzt |
| Soft bounce, Blocked | wird als Soft Bounce protokolliert |
| Deferred | wird bei der Nachricht protokolliert |
| Complaint (Spam) | complained – wird auf die Sperrliste gesetzt |
| Opened | opened |
| Clicked | clicked |
Signaturprüfung: Brevo signiert die Daten nicht. Der geheime Token in der URL identifiziert den Dienst, und wenn Sie einen Webhook-Token festlegen, lehnt Frontmail Aufrufe ab, deren Bearer-Token (bzw. Basic-Auth-Passwort) nicht übereinstimmt.
Frontmail versieht jede Nachricht mit dem Tag fm:<message id>, damit Ereignisse zugeordnet werden können.
Häufige Fehler
Abschnitt betitelt „Häufige Fehler“- auth – der Dienst funktioniert nicht (ungültiger Schlüssel, IP nicht autorisiert, keine Brevo-Credits mehr, Konto in Validierung). Der Dienst wird als
unhealthymarkiert; der Inhaber erhält eine E-Mail und einen Hinweis im Dashboard. Ein Ersatzdienst der Vorlage übernimmt; sonst wird der Credit erstattet und die Nachricht wartet alsheld_service_errorin 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, ungültiger oder nicht verifizierter Absender, Validierungsfehler 400). Ersatzdienst, falls eingerichtet, sonst
failedund Erstattung. - transient – 5xx, 429, Timeouts. Wiederholung mit exponentiellem Backoff; nach dem letzten Versuch
failedund Erstattung.
| Brevo-Antwort | Klasse | Was tun |
|---|---|---|
401 unauthorized – Key not found |
auth | Erzeugen Sie einen neuen v3-API-Schlüssel (nicht den SMTP-Schlüssel) und aktualisieren Sie den Dienst. |
403 permission_denied – unrecognised IP address |
auth | Deaktivieren Sie Authorised IPs oder fügen Sie die IPs von Frontmail hinzu. |
402 not_enough_credits |
auth | Wechseln Sie in einen höheren Brevo-Tarif oder warten Sie, bis das tägliche/monatliche Kontingent zurückgesetzt wird. |
400 account_under_validation |
auth | Schließen Sie die Kontovalidierung bei Brevo ab (prüfen Sie Ihren Posteingang auf Nachrichten von Brevo). |
400 invalid_parameter – sender is invalid / not verified |
permanent | Fügen Sie die Absenderadresse unter Senders hinzu und verifizieren Sie sie. |
400 invalid_parameter – email is not valid |
permanent | Siehe ungültiger Empfänger. |
429 Too Many Requests |
transient | Rate Limit; Wiederholung mit Backoff. |
500 / 502 / 503, Timeout |
transient | Ausfall bei Brevo – Frontmail wiederholt automatisch. |
Checkliste
Abschnitt betitelt „Checkliste“- Transaktionsversand aktiviert, Konto validiert
- Domain authentifiziert:
brevo-code, DKIM, SPF, DMARC - Absenderadresse unter Senders hinzugefügt
- Eigener v3-API-Schlüssel (
xkeysib-…), Authorised IPs aus oder Frontmail erlaubt - Verbindung testen erfolgreich
- Transaktions-Webhook mit Token-Authentifizierung, derselbe Token in Frontmail
- Ereignisse: Delivered, Hard/Soft Bounce, Invalid, Blocked, Complaint (+ Opened/Clicked)