Mailjet
Mailjet (groupe Sinch) est une plateforme d’e-mail européenne pour l’e-mail transactionnel comme pour le marketing. Ses données sont hébergées dans l’UE par défaut et elle propose une offre gratuite exploitable, ce qui la rend populaire auprès des petites entreprises européennes.
Choisissez Mailjet si vous voulez un fournisseur basé dans l’UE avec une offre gratuite, ou si vous envoyez déjà vos newsletters via Mailjet et souhaitez envoyer vos e-mails transactionnels depuis le même compte. Pour un envoi purement transactionnel axé avant tout sur la délivrabilité, voir Postmark ; pour un hébergement dans l’UE avec une API pour développeurs, Mailgun UE. Comparaison : présentation des services d’envoi.
Prérequis
Section intitulée « Prérequis »- Un compte Mailjet (les nouveaux comptes peuvent passer par un bref examen d’activation).
- Un expéditeur validé : ajoutez votre domaine dans Account settings → Senders & Domains → Add domain et authentifiez-le (SPF + DKIM), ou validez au moins l’adresse d’expéditeur elle-même.
- Une paire de clés API (clé API + clé secrète). Les clés Mailjet ne sont pas limitées par autorisation : l’option aux droits minimaux est donc une clé de sous-compte dédiée : Account settings → REST API → API Key Management → Create a sub-account API key. Un sous-compte a ses propres expéditeurs, statistiques et quota, et peut être révoqué sans toucher à votre clé principale.
Connexion dans Frontmail
Section intitulée « Connexion dans Frontmail »- Ouvrez Services d’envoi → Ajouter un service → Mailjet.
- Remplissez les champs :
| Champ | Où le trouver | Exemple |
|---|---|---|
| Clé API | Account settings → REST API → API Key Management | a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 |
| Clé secrète | Même page (cliquez pour l’afficher ; elle peut être régénérée) | f6e5d4c3b2a1… |
| Nom d’utilisateur du webhook | Facultatif – le nom d’utilisateur que vous mettez dans l’URL du webhook (voir plus bas) | frontmail |
| Mot de passe du webhook | Facultatif – le mot de passe correspondant | long-random-string |
| E-mails par seconde (max.) | Facultatif ; 10/s par défaut | 5 |
- Cliquez sur Vérifier et enregistrer – Frontmail appelle l’API Mailjet avec la paire de clés.
- Le service est enregistré une fois la vérification réussie. Les deux clés sont chiffrées avec le chiffrement d’enveloppe d’AWS KMS.
DNS : SPF, DKIM et DMARC
Section intitulée « DNS : SPF, DKIM et DMARC »Mailjet affiche les valeurs sous Senders & Domains → votre domaine → Authentication settings :
; SPF – à fusionner avec votre enregistrement SPF existant (un seul par domaine !)example.com. TXT "v=spf1 include:spf.mailjet.com ~all"
; DKIMmailjet._domainkey.example.com. TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD…"
; Propriété du domaine (uniquement si Mailjet la demande)mailjet._a1b2c3d4.example.com. TXT "a1b2c3d4e5f6…"
; DMARC_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"- Si vous avez déjà
v=spf1 include:_spf.google.com ~all, remplacez-le parv=spf1 include:_spf.google.com include:spf.mailjet.com ~all– n’ajoutez pas un deuxième enregistrement SPF. - L’expéditeur d’enveloppe de Mailjet est son propre domaine de rebond : l’alignement DMARC repose donc sur DKIM – assurez-vous que DKIM affiche OK.
- Démarrez DMARC avec
p=none, puis durcissez-le plus tard.
Frontmail communique avec api.mailjet.com. Mailjet stocke les données dans l’UE par défaut. Mailjet exploite aussi une infrastructure américaine distincte (api.us.mailjet.com) pour les comptes qui y ont été créés – Frontmail ne prend actuellement en charge que le point de terminaison par défaut ; utilisez donc un compte créé sur la plateforme standard (UE).
Sandbox et limites
Section intitulée « Sandbox et limites »- Offre gratuite : 200 e-mails par jour, 6 000 par mois.
- Les offres payantes suppriment le plafond quotidien et sont facturées au mois.
- Les nouveaux comptes peuvent être placés en cours d’examen par l’équipe conformité de Mailjet si les taux de rebonds ou de plaintes sont élevés ; l’envoi est bloqué jusqu’à la fin de l’examen.
- Le paramètre d’API
SandboxModede Mailjet valide les messages sans les envoyer ; Frontmail ne l’utilise pas.
Webhooks (suivi de livraison)
Section intitulée « Webhooks (suivi de livraison) »Mailjet les appelle Event notifications (webhooks).
-
Copiez l’URL du webhook depuis la page du service dans Frontmail (bouton de copie) :
https://api.frontmail.dev/webhooks/providers/mailjet/<token> -
Recommandé : protégez-la par Basic auth. Mailjet n’a pas de champ d’authentification distinct : mettez donc les identifiants dans l’URL et saisissez les mêmes valeurs dans les champs Frontmail Nom d’utilisateur du webhook / Mot de passe du webhook :
https://frontmail:long-random-string@api.frontmail.dev/webhooks/providers/mailjet/<token> -
Dans Mailjet, ouvrez Account settings → Event notifications (webhooks) et collez l’URL pour ces événements :
| Événement Mailjet | Événement Frontmail |
|---|---|
| Sent (accepté par le serveur du destinataire) | delivered |
Bounce – hard_bounce: true |
bounced – ajoutée à la liste de suppression |
| Bounce – temporaire, Blocked | enregistré comme rebond temporaire |
| Spam | complained – ajoutée à la liste de suppression |
| Open | opened |
| Click | clicked |
- Mailjet envoie un appel de test à l’enregistrement ; l’événement doit apparaître dans le journal des événements du service.
Vérification de la signature : Mailjet ne signe pas le contenu des événements. Le token secret dans l’URL identifie le service et, si vous définissez un mot de passe de webhook, Frontmail refuse toute requête dont la Basic auth ne correspond pas.
Frontmail renseigne le CustomID de Mailjet avec l’identifiant du message Frontmail pour que les événements correspondent au bon message.
Erreurs courantes
Section intitulée « Erreurs courantes »- auth – le service est cassé (mauvaise clé API ou clé secrète, 401/403, expéditeur ou domaine non validé, compte bloqué). Le service est marqué
unhealthy; le propriétaire reçoit un e-mail et une bannière dans le tableau de bord. Un service de secours défini sur le modèle prend le relais ; sinon le crédit est remboursé et le message attend dans la file d’attente des e-mails retenus enheld_service_error, puis part automatiquement une fois le service réparé (revérifié à l’enregistrement et lors de la vérification d’état quotidienne). - permanent – ce message ne peut pas être envoyé (destinataire invalide, erreur de validation 400). Service de secours s’il est configuré, sinon
failedet crédit remboursé. - transient – 5xx, 429, délais dépassés. Relancé avec un délai exponentiel ; après la dernière tentative,
failedet remboursé.
| Réponse de Mailjet | Catégorie | Que faire |
|---|---|---|
401 – API key authentication/authorization failure |
auth | Vérifiez la paire clé API et clé secrète ; régénérez-la si nécessaire. |
403 – Forbidden / compte bloqué ou en cours d’examen |
auth | Consultez le tableau de bord Mailjet et contactez le support de Mailjet. |
400 – « The sender … is not validated / not authorized » |
auth | Validez l’adresse ou le domaine d’expédition dans Senders & Domains (dans le bon sous-compte). |
400 mj-0013 – « … is an invalid email address » |
permanent | Voir destinataire invalide. |
400 – autres erreurs de validation (objet trop long, pièce jointe trop volumineuse) |
permanent | Corrigez le modèle ; voir Modèles HTML. |
429 – Too many requests |
transient | Limite de débit ou quotidienne atteinte ; Frontmail relance. Baissez E-mails par seconde (max.). |
500 / 503, délai dépassé |
transient | Panne chez Mailjet – Frontmail relance. |
Liste de contrôle
Section intitulée « Liste de contrôle »- Domaine ajouté et authentifié dans Mailjet (include SPF +
mailjet._domainkey) - Un seul enregistrement SPF fusionné ; DMARC
p=none - Paire de clés API de sous-compte dédiée
- Tester la connexion réussit
- URL d’Event notification avec identifiants Basic auth, mêmes valeurs dans Frontmail
- Événements activés : sent, bounce, blocked, spam (+ open, click)
- Volume quotidien dans la limite de votre offre