Preskočiť na obsah

Brevo

Brevo (predtým Sendinblue) je francúzska marketingová platforma „všetko v jednom“ – newslettery, SMS, CRM – a jej súčasťou je aj API na transakčné e-maily. Dáta sú hostované v EÚ a bezplatný tarif umožňuje niekoľko stoviek e-mailov denne.

Brevo zvoľte, keď ho už používate na newslettery alebo CRM a chcete mať všetko na jednom mieste, prípadne chcete poskytovateľa s dátami v EÚ a štedrým denným limitom zadarmo. Ak potrebujete len transakčnú poštu s najlepšou doručiteľnosťou, porovnajte ho s Postmarkom alebo Mailgunom v prehľade služieb.

  • Účet v Brevo s aktivovanými transakčnými e-mailmi. Nové účty Brevo niekedy pred spustením transakčnej pošty overuje.
  • Overeného odosielateľa: doménu pridajte a overte v Senders, Domains & Dedicated IPs → Domains a adresu odosielateľa pridajte v Senders.
  • API kľúč v3 z SMTP & API → API keys → Generate a new API key (začína sa xkeysib-). Kľúče v Brevo nemajú obmedziteľné oprávnenia – vytvorte si preto samostatný kľúč, napríklad „Frontmail“, ktorý bude možné zrušiť nezávisle od ostatných. Nepoužívajte SMTP kľúč (xsmtpsib-…); Frontmail volá HTTP API.
  • Ak máte v nastaveniach zabezpečenia zapnuté Authorised IPs, vypnite ich alebo pridajte odchádzajúce IP adresy Frontmailu – inak Brevo každé volanie odmietne s 403 unrecognised IP address.
  1. Otvorte E-mailové služby → Pridať službu → Brevo.
  2. Vyplňte polia:
Pole Kde ho nájdete Príklad
API kľúč (v3) SMTP & API → API keys (zobrazí sa len raz) xkeysib-1a2b3c…-XyZ
Token webhooku Voliteľné – token, ktorý si zvolíte pre webhook v Brevo (pozri nižšie) 9f8e7d6c5b4a…
Max. e-mailov za sekundu Voliteľné; predvolene 10/s 10
  1. Kliknite na Overiť a uložiť – Frontmail pomocou kľúča načíta údaje o vašom účte v Brevo.
  2. Keď kontrola prejde, služba sa uloží. Prístupové údaje šifrujeme obálkovým šifrovaním cez AWS KMS.

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

; Kód na overenie vlastníctva domény
example.sk. TXT "brevo-code:1a2b3c4d5e6f7a8b9c0d"
; DKIM – novšie domény dostanú dva CNAME, staršie jeden TXT na mail._domainkey
brevo1._domainkey.example.sk. CNAME b1.example-sk.dkim.brevo.com.
brevo2._domainkey.example.sk. CNAME b2.example-sk.dkim.brevo.com.
; SPF – zlúčte s existujúcim záznamom
example.sk. TXT "v=spf1 include:spf.brevo.com ~all"
; DMARC
_dmarc.example.sk. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.sk"
  • Názvy aj hodnoty záznamov kopírujte presne z Brevo – formát DKIM sa časom menil (TXT na mail._domainkey vs. CNAME brevo1/brevo2) a staršie účty môžu stále ukazovať include:spf.sendinblue.com.
  • Brevo považuje DMARC záznam za povinnú súčasť overenia domény; na začiatok stačí p=none. Keď si prejdete reporty, sprísnite politiku na p=quarantine / p=reject.

Brevo má jediný API endpoint (api.brevo.com/v3) a dáta hostuje v EÚ. Vo Frontmaile nie je čo vyberať.

  • Bezplatný tarif: 300 e-mailov denne (transakčné a marketingové spolu).
  • Platené tarify vychádzajú z mesačného objemu e-mailov; keď kredity dôjdu, Brevo odpovie 402 not_enough_credits a Frontmail to berie ako chybu auth (služba je nepoužiteľná, kým nedobijete).
  • Overenie účtu: kým Brevo účet neoverí, API môže odosielanie odmietať s account_under_validation.
  • Brevo podporuje hlavičku X-Sib-Sandbox: drop na skúšobné odoslanie; Frontmail ju nepoužíva.
  1. Na stránke služby vo Frontmaile skopírujte URL webhooku (tlačidlo na kopírovanie):

    https://api.frontmail.dev/webhooks/providers/brevo/<token>
  2. V Brevo otvorte Transactional → Settings → Webhook → Add a new webhook (v novšom rozhraní Settings → Webhooks → Transactional).

  3. Vložte URL a ako spôsob overenia zvoľte Token. Vygenerujte dlhý náhodný token a vložte ho do Brevo aj do poľa Token webhooku vo Frontmaile. Brevo potom s každým volaním posiela Authorization: Bearer <token>. (Funguje aj Basic auth – token použite ako heslo.)

  4. Vyberte udalosti:

Udalosť v Brevo Udalosť vo Frontmaile
Delivered delivered
Hard bounce, Invalid email bounced (tvrdý) – pridá sa do zoznamu blokovaných adries
Soft bounce, Blocked zaznamená sa ako mäkký bounce
Deferred zaznamená sa pri správe
Complaint (spam) complained – pridá sa do zoznamu blokovaných adries
Opened opened
Clicked clicked

Overenie podpisu: Brevo obsah webhookov nepodpisuje. Službu identifikuje tajný token v URL, a ak vyplníte Token webhooku, Frontmail odmietne volania, ktorých bearer token (alebo heslo v Basic auth) nesedí.

Frontmail každú správu označí tagom fm:<id správy>, aby sa udalosti dali spárovať.

  • auth – nefunguje služba (neplatný kľúč, nepovolená IP adresa, minuté kredity, účet v overovaní). Služba sa označí ako unhealthy, vlastník dostane e-mail a upozornenie v dashboarde. Prevezme to záložná služba šablóny; inak vrátime kredit a správa počká vo fronte pozdržaných e-mailov ako held_service_error a po oprave služby sa odošle sama (overujeme pri uložení a pri dennej kontrole stavu).
  • permanent – nedá sa odoslať práve táto správa (neplatný príjemca, neplatný alebo neoverený odosielateľ, validácia 400). Záložná služba, ak je nastavená, inak failed a vrátenie kreditu.
  • transient – 5xx, 429, timeouty. Opakujeme s exponenciálne rastúcou pauzou; po poslednom pokuse failed a vrátenie kreditu.
Odpoveď Brevo Trieda Čo robiť
401 unauthorized – Key not found auth Vygenerujte nový API kľúč v3 (nie SMTP kľúč) a aktualizujte službu.
403 permission_denied – unrecognised IP address auth Vypnite Authorised IPs alebo povoľte IP adresy Frontmailu.
402 not_enough_credits auth Prejdite na vyšší tarif alebo počkajte na obnovenie denného/mesačného limitu.
400 account_under_validation auth Dokončite overenie účtu v Brevo (skontrolujte e-maily od Brevo).
400 invalid_parameter – sender is invalid / not verified permanent Pridajte a overte adresu odosielateľa v Senders.
400 invalid_parameter – email is not valid permanent Pozri neplatný príjemca.
429 Too Many Requests transient Rate limit; opakujeme s rastúcou pauzou.
500 / 502 / 503, timeout transient Výpadok Brevo – Frontmail to zopakuje.
  • Transakčné e-maily aktivované, účet overený
  • Doména overená: brevo-code, DKIM, SPF, DMARC
  • Adresa odosielateľa pridaná v Senders
  • Samostatný API kľúč v3 (xkeysib-…), Authorised IPs vypnuté alebo Frontmail povolený
  • Otestovať pripojenie prešlo
  • Transakčný webhook s overením Token, rovnaký token vo Frontmaile
  • Udalosti: delivered, hard/soft bounce, invalid, blocked, complaint (+ opened/clicked)