Přeskočit na obsah

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.

  • Úč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”
  1. Otevřete E-mailové služby → Přidat službu → Brevo.
  2. 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
  1. Klikněte na Ověřit a uložit – Frontmail klíčem načte údaje o vašem účtu v Brevu.
  2. Když kontrola projde, služba se uloží. Přístupové údaje šifrujeme obálkovým šifrováním přes AWS KMS.

Záznamy Brevo vypíše v Senders, Domains & Dedicated IPs → Domains → Authenticate. Typicky:

; Kód pro ověření vlastnictví domény
example.cz. TXT "brevo-code:1a2b3c4d5e6f7a8b9c0d"
; DKIM – novější domény dostanou dva CNAME, starší jeden TXT na mail._domainkey
brevo1._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áznamu
example.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._domainkey vs. CNAME brevo1/brevo2) a starší účty mohou pořád ukazovat include: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 na p=quarantine / p=reject.

Brevo má jediný API endpoint (api.brevo.com/v3) a data hostuje v EU. Ve Frontmailu není co vybírat.

  • 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_credits a 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: drop pro zkušební odeslání; Frontmail ji nepoužívá.

Webhooky (sledování doručení)

Sekce “Webhooky (sledování doručení)”
  1. Na stránce služby ve Frontmailu zkopírujte webhook URL (tlačítko kopírovat):

    https://api.frontmail.dev/webhooks/providers/brevo/<token>
  2. V Brevu otevřete Transactional → Settings → Webhook → Add a new webhook (v novějším rozhraní Settings → Webhooks → Transactional).

  3. 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.)

  4. 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.

  • 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 jako held_service_error a 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 failed a vrácení kreditu.
  • transient – 5xx, 429, timeouty. Opakujeme s exponenciálně rostoucí pauzou; po posledním pokusu failed a 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.
  • 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)