Přeskočit na obsah

Mailjet

Mailjet (součást skupiny Sinch) je evropská e-mailová platforma pro transakční i marketingovou poštu. Data drží ve výchozím stavu v EU a má použitelný bezplatný tarif, proto je oblíbený u menších evropských firem.

Mailjet zvolte, když chcete poskytovatele se sídlem dat v EU a bezplatným tarifem, nebo už přes Mailjet posíláte newslettery a transakční poštu chcete mít ve stejném účtu. Pro čistě transakční poštu s důrazem na doručitelnost se podívejte na Postmark, pro hostování v EU s vývojářským API na Mailgun EU. Srovnání: přehled služeb.

  • Účet v Mailjetu (nové účty mohou projít krátkou kontrolou před aktivací).
  • Ověřeného odesílatele: doménu přidejte v Account settings → Senders & Domains → Add domain a ověřte ji (SPF + DKIM), případně aspoň ověřte jednu adresu Od.
  • Pár API klíčů (API key + secret key). Klíče v Mailjetu nemají omezitelná oprávnění, takže variantou s nejmenšími právy je samostatný klíč sub-accountu: Account settings → REST API → API Key Management → Create a sub-account API key. Sub-account má vlastní odesílatele, statistiky i kvótu a jde zrušit bez zásahu do hlavního klíče.

Připojení ve Frontmailu

Sekce “Připojení ve Frontmailu”
  1. Otevřete E-mailové služby → Přidat službu → Mailjet.
  2. Vyplňte pole:
Pole Kde ho najdete Příklad
API klíč Account settings → REST API → API Key Management a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Tajný klíč Na stejné stránce (zobrazí se po kliknutí; jde přegenerovat) f6e5d4c3b2a1…
Uživatelské jméno webhooku Volitelné – jméno, které vložíte do URL webhooku (viz níže) frontmail
Heslo webhooku Volitelné – odpovídající heslo dlouhy-nahodny-retezec
Max. e-mailů za sekundu Volitelné; výchozí 10/s 5
  1. Klikněte na Ověřit a uložit – Frontmail zavolá Mailjet API s párem klíčů.
  2. Když kontrola projde, služba se uloží. Oba klíče šifrujeme obálkovým šifrováním přes AWS KMS.

Hodnoty najdete v Senders & Domains → vaše doména → Authentication settings:

; SPF – spojte s existujícím SPF záznamem (na doméně smí být jen jeden!)
example.cz. TXT "v=spf1 include:spf.mailjet.com ~all"
; DKIM
mailjet._domainkey.example.cz. TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD…"
; Ověření vlastnictví domény (jen pokud o něj Mailjet požádá)
mailjet._a1b2c3d4.example.cz. TXT "a1b2c3d4e5f6…"
; DMARC
_dmarc.example.cz. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.cz"
  • Máte-li už v=spf1 include:spf.seznam.cz ~all, upravte ho na v=spf1 include:spf.seznam.cz include:spf.mailjet.com ~all – druhý SPF záznam nepřidávejte.
  • Obálkovým odesílatelem je bounce doména Mailjetu, takže zarovnání pro DMARC stojí na DKIM – zkontrolujte, že DKIM svítí jako OK.
  • DMARC začněte s p=none a později zpřísněte.

Frontmail komunikuje s api.mailjet.com. Mailjet ve výchozím stavu ukládá data v EU. Provozuje i samostatnou americkou infrastrukturu (api.us.mailjet.com) pro účty založené tam – Frontmail zatím podporuje jen výchozí endpoint, použijte tedy účet ze standardní (evropské) platformy.

  • Bezplatný tarif: 200 e-mailů denně, 6 000 měsíčně.
  • Placené tarify denní strop ruší a účtují se měsíčně.
  • Při vysoké míře bounců nebo stížností může compliance tým Mailjetu účet pozastavit ke kontrole; do jejího konce je odesílání zablokované.
  • Příznak SandboxMode v API Mailjetu zprávy jen zvaliduje a neodešle; Frontmail ho nepoužívá.

Webhooky (sledování doručení)

Sekce “Webhooky (sledování doručení)”

Mailjet jim říká Event notifications (webhooky).

  1. Na stránce služby ve Frontmailu zkopírujte webhook URL (tlačítko kopírovat):

    https://api.frontmail.dev/webhooks/providers/mailjet/<token>
  2. Doporučujeme ho chránit přes Basic auth. Mailjet na to nemá samostatné pole, přihlašovací údaje proto vložte přímo do URL a stejné hodnoty zadejte ve Frontmailu do polí Uživatelské jméno webhooku / Heslo webhooku:

    https://frontmail:dlouhy-nahodny-retezec@api.frontmail.dev/webhooks/providers/mailjet/<token>
  3. V Mailjetu otevřete Account settings → Event notifications (webhooks) a URL vložte k těmto událostem:

Událost v Mailjetu Událost ve Frontmailu
Sent (přijato serverem příjemce) delivered
Bounce – hard_bounce: true bounced – přidá se na suppression list
Bounce – měkký, Blocked zaznamená se jako měkký bounce
Spam complained – přidá se na suppression list
Open opened
Click clicked
  1. Po uložení pošle Mailjet testovací volání; událost by se měla objevit v logu událostí služby.

Ověření podpisu: Mailjet události nepodepisuje. Službu identifikuje tajný token v URL, a pokud nastavíte heslo webhooku, Frontmail odmítne každý požadavek s nesouhlasným Basic auth.

Frontmail nastavuje CustomID Mailjetu na ID zprávy ve Frontmailu, aby se události spárovaly se správnou zprávou.

  • auth – nefunguje služba (špatný API klíč či tajný klíč, 401/403, neověřený odesílatel nebo doména, zablokovaný účet). 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; bez ní 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, 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ěď Mailjetu Třída Co dělat
401 – API key authentication/authorization failure auth Zkontrolujte dvojici API klíč a tajný klíč; případně je přegenerujte.
403 – Forbidden / účet zablokovaný nebo v kontrole auth Podívejte se do dashboardu Mailjetu a kontaktujte jeho podporu.
400 – „The sender … is not validated / not authorized“ auth Ověřte adresu Od nebo doménu v Senders & Domains (ve správném sub-accountu).
400 mj-0013 – „… is an invalid email address“ permanent Viz neplatný příjemce.
400 – jiné validační chyby (příliš dlouhý předmět, velká příloha) permanent Upravte šablonu; viz HTML šablony.
429 – Too many requests transient Limit rychlosti nebo denní limit; Frontmail to zopakuje. Snižte Max. e-mailů za sekundu.
500 / 503, timeout transient Výpadek Mailjetu – Frontmail to zopakuje.
  • Doména přidaná a ověřená v Mailjetu (SPF include + mailjet._domainkey)
  • Jediný sloučený SPF záznam; DMARC p=none
  • Samostatný pár klíčů sub-accountu
  • Otestovat spojení prošel
  • URL pro event notifications s Basic auth údaji, stejné hodnoty ve Frontmailu
  • Zapnuté události sent, bounce, blocked, spam (+ open, click)
  • Denní objem v mezích tarifu