Brevo
Brevo (dříve Sendinblue) je francouzská marketingová platforma „všechno v jednom“ – newslettery, SMS, CRM – a součástí je i API pro transakční e-maily. Data jsou hostovaná v EU a bezplatný tarif dovoluje pár stovek e-mailů denně.
Brevo zvolte, když ho už používáte na newslettery nebo CRM a chcete mít vše na jednom místě, případně chcete poskytovatele s daty v EU a štědrým denním limitem zdarma. Pokud potřebujete jen transakční poštu s nejlepší doručitelností, porovnejte ho s Postmarkem nebo Mailgunem v přehledu služeb.
Co budete potřebovat
Sekce “Co budete potřebovat”- Účet v Brevu s aktivovanými transakčními e-maily. Nové účty Brevo někdy před spuštěním transakční pošty ověřuje.
- Ověřeného odesílatele: doménu přidejte a ověřte v Senders, Domains & Dedicated IPs → Domains a adresu Od přidejte v Senders.
- API klíč v3 z SMTP & API → API keys → Generate a new API key (začíná
xkeysib-). Klíče v Brevu nemají omezitelná oprávnění – vytvořte si proto samostatný klíč, třeba „Frontmail“, který půjde zrušit nezávisle na ostatních. Nepoužívejte SMTP klíč (xsmtpsib-…); Frontmail volá HTTP API. - Pokud máte v nastavení zabezpečení zapnuté Authorised IPs, vypněte je, nebo přidejte odchozí IP adresy Frontmailu – jinak Brevo každé volání odmítne s
403 unrecognised IP address.
Připojení ve Frontmailu
Sekce “Připojení ve Frontmailu”- Otevřete E-mailové služby → Přidat službu → Brevo.
- Vyplňte pole:
| Pole | Kde ho najdete | Příklad |
|---|---|---|
| API klíč (v3) | SMTP & API → API keys (zobrazí se jen jednou) | xkeysib-1a2b3c…-XyZ |
| Token webhooku | Volitelné – token, který si zvolíte pro webhook v Brevu (viz níže) | 9f8e7d6c5b4a… |
| Max. e-mailů za sekundu | Volitelné; výchozí 10/s | 10 |
- Klikněte na Ověřit a uložit – Frontmail klíčem načte údaje o vašem účtu v Brevu.
- Když kontrola projde, služba se uloží. Přístupové údaje šifrujeme obálkovým šifrováním přes AWS KMS.
DNS: SPF, DKIM a DMARC
Sekce “DNS: SPF, DKIM a DMARC”Záznamy Brevo vypíše v Senders, Domains & Dedicated IPs → Domains → Authenticate. Typicky:
; Kód pro ověření vlastnictví doményexample.cz. TXT "brevo-code:1a2b3c4d5e6f7a8b9c0d"
; DKIM – novější domény dostanou dva CNAME, starší jeden TXT na mail._domainkeybrevo1._domainkey.example.cz. CNAME b1.example-cz.dkim.brevo.com.brevo2._domainkey.example.cz. CNAME b2.example-cz.dkim.brevo.com.
; SPF – začleňte do stávajícího záznamuexample.cz. TXT "v=spf1 include:spf.brevo.com ~all"
; DMARC_dmarc.example.cz. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.cz"- Názvy i hodnoty záznamů kopírujte přesně z Brevo – formát DKIM se v čase měnil (TXT na
mail._domainkeyvs. CNAMEbrevo1/brevo2) a starší účty mohou pořád ukazovatinclude:spf.sendinblue.com. - Brevo považuje DMARC záznam za povinnou součást ověření domény; na začátek stačí
p=none. Po prostudování reportů zpřísněte nap=quarantine/p=reject.
Regiony
Sekce “Regiony”Brevo má jediný API endpoint (api.brevo.com/v3) a data hostuje v EU. Ve Frontmailu není co vybírat.
Sandbox a limity
Sekce “Sandbox a limity”- Bezplatný tarif: 300 e-mailů denně (transakční a marketingové dohromady).
- Placené tarify vycházejí z měsíčního objemu e-mailů; když kredity dojdou, Brevo odpoví
402 not_enough_creditsa Frontmail to bere jako chybu auth (služba je nepoužitelná, dokud nedobijete). - Ověření účtu: než Brevo účet ověří, může API odesílání odmítat s
account_under_validation. - Brevo podporuje hlavičku
X-Sib-Sandbox: droppro zkušební odeslání; Frontmail ji nepoužívá.
Webhooky (sledování doručení)
Sekce “Webhooky (sledování doručení)”-
Na stránce služby ve Frontmailu zkopírujte webhook URL (tlačítko kopírovat):
https://api.frontmail.dev/webhooks/providers/brevo/<token> -
V Brevu otevřete Transactional → Settings → Webhook → Add a new webhook (v novějším rozhraní Settings → Webhooks → Transactional).
-
Vložte URL a jako způsob ověření zvolte Token. Vygenerujte dlouhý náhodný token a vložte ho do Brevo i do pole Token webhooku ve Frontmailu. Brevo pak s každým voláním posílá
Authorization: Bearer <token>. (Funguje i Basic auth – token použijte jako heslo.) -
Vyberte události:
| Událost v Brevu | Událost ve Frontmailu |
|---|---|
| Delivered | delivered |
| Hard bounce, Invalid email | bounced (tvrdý) – přidá se na suppression list |
| Soft bounce, Blocked | zaznamená se jako měkký bounce |
| Deferred | zaznamená se u zprávy |
| Complaint (spam) | complained – přidá se na suppression list |
| Opened | opened |
| Clicked | clicked |
Ověření podpisu: Brevo obsah webhooků nepodepisuje. Službu identifikuje tajný token v URL, a pokud vyplníte Token webhooku, Frontmail odmítne volání, jejichž bearer token (nebo heslo v Basic auth) nesouhlasí.
Frontmail každou zprávu označí tagem fm:<id zprávy>, aby se události daly spárovat.
Časté chyby
Sekce “Časté chyby”- auth – nefunguje služba (neplatný klíč, nepovolená IP adresa, došlé kredity, účet v ověřování). Služba se označí jako
unhealthy, vlastník dostane e-mail a upozornění v dashboardu. Převezme to záložní služba šablony; jinak vrátíme kredit a zpráva počká ve frontě zadržených zpráv jakoheld_service_errora po opravě služby se odešle sama (ověřujeme při uložení a při denní kontrole stavu). - permanent – nejde odeslat právě tahle zpráva (neplatný příjemce, neplatný nebo neověřený odesílatel, validace 400). Záložní služba, pokud je, jinak
faileda vrácení kreditu. - transient – 5xx, 429, timeouty. Opakujeme s exponenciálně rostoucí pauzou; po posledním pokusu
faileda vrácení kreditu.
| Odpověď Brevo | Třída | Co dělat |
|---|---|---|
401 unauthorized – Key not found |
auth | Vygenerujte nový API klíč v3 (ne SMTP klíč) a aktualizujte službu. |
403 permission_denied – unrecognised IP address |
auth | Vypněte Authorised IPs, nebo povolte IP adresy Frontmailu. |
402 not_enough_credits |
auth | Přejděte na vyšší tarif, nebo počkejte na obnovení denního/měsíčního limitu. |
400 account_under_validation |
auth | Dokončete ověření účtu v Brevu (zkontrolujte e-maily od Brevo). |
400 invalid_parameter – sender is invalid / not verified |
permanent | Přidejte a ověřte adresu Od v Senders. |
400 invalid_parameter – email is not valid |
permanent | Viz neplatný příjemce. |
429 Too Many Requests |
transient | Omezení rychlosti; opakujeme s rostoucí pauzou. |
500 / 502 / 503, timeout |
transient | Výpadek Brevo – Frontmail to zopakuje. |
Kontrolní seznam
Sekce “Kontrolní seznam”- Transakční e-maily aktivované, účet ověřený
- Doména ověřená:
brevo-code, DKIM, SPF, DMARC - Adresa Od přidaná v Senders
- Samostatný API klíč v3 (
xkeysib-…), Authorised IPs vypnuté nebo Frontmail povolený - Otestovat spojení prošel
- Transakční webhook s ověřením Token, stejný token ve Frontmailu
- Události: delivered, hard/soft bounce, invalid, blocked, complaint (+ opened/clicked)