Brevo SMTP : guide de configuration, paramètres et dépannage
Configurez correctement Brevo SMTP : serveur, ports 587, 465 et 2525, clés SMTP, authentification du domaine, exemples WordPress et code, limites et correction des erreurs.
Brevo SMTP sort le courrier sortant d’une application de l’agent de messagerie local d’un hébergeur pour le confier à une infrastructure qui authentifie, journalise et analyse chaque message. La configuration est courte : un nom d’hôte, un port, deux identifiants. Se tromper l’est tout autant, et les modes de défaillance sont silencieux. Ce guide couvre les paramètres, le modèle d’identifiants, le travail DNS qui rend la livraison possible, et les erreurs que vous rencontrerez si une pièce est mal configurée. Si vous choisissez encore un prestataire, le guide des services SMTP compare d’abord le marché.
Ce qu’est Brevo SMTP
Brevo présente Brevo SMTP comme son service de relais SMTP. Votre application, votre site ou votre serveur de messagerie remet un message au relais sur une connexion authentifiée, et Brevo prend la responsabilité du routage, des reprises, de la réputation et des rapports. Les statistiques du courrier relayé apparaissent aux côtés des statistiques de campagne, et un rebond dur blackliste automatiquement le contact concerné.
Le relais est conçu pour les messages transactionnels : réinitialisations de mot de passe, reçus, confirmations de commande, notifications de compte. Si la frontière entre ceux-ci et le courrier marketing n’est pas encore nette, l’article qu’est-ce que l’e-mail transactionnel l’explique.
SMTP ou l’API REST
Les deux chemins atteignent la même plateforme. Le partage pratique :
| Utilisez le SMTP quand | Utilisez l’API REST quand |
|---|---|
| Le système ne parle que SMTP (WordPress, Postfix, un ERP, un client de messagerie) | Vous écrivez l’intégration et voulez des erreurs structurées |
| Vous migrez une configuration SMTP existante et voulez le changement le plus court | Vous avez besoin d’envoi par lots, de programmation ou de clés d’idempotence |
Une limite ferme : la documentation développeur de Brevo indique que le relais SMTP ne prend pas en charge l’envoi par lots, et renvoie les opérations par lot vers les endpoints de l’API.
Créer vos identifiants SMTP
L’authentification SMTP de Brevo repose sur deux valeurs faciles à confondre avec des identifiants que vous possédez déjà.
Trouver votre login SMTP
Votre login SMTP n’est pas l’adresse e-mail de votre compte Brevo. C’est un identifiant distinct, affiché dans le champ Login de la page Paramètres, SMTP et API, au format [email protected].
Deux règles en découlent, toutes deux issues de la documentation de dépannage de Brevo. Ne mettez pas smtp-relay.brevo.com dans le champ nom d’utilisateur : c’est l’hôte du relais, pas votre login. Et ne mettez pas votre login SMTP dans l’en-tête From, car il vous authentifie au lieu d’identifier un expéditeur.
Générer une clé SMTP
Le mot de passe est une clé SMTP, pas le mot de passe de votre compte ni une clé API.
- Ouvrez le menu déroulant du compte et sélectionnez Paramètres, puis SMTP et API.
- Dans l’onglet SMTP, cliquez sur Générer une nouvelle clé SMTP.
- Nommez la clé d’après l’intégration qui l’utilisera.
- Choisissez la variante. Standard est la clé recommandée de 64 caractères ; Short est une clé de 15 caractères, pour les clients qui ne gèrent pas les longs mots de passe.
- Définissez une expiration entre 7 jours et 1 an, ou choisissez sans expiration.
- Cliquez sur Générer, puis copiez immédiatement la clé complète.
La clé complète s’affiche une seule fois, après quoi la page n’en montre plus que les derniers caractères. Si vous la perdez, générez-en une nouvelle et mettez votre configuration à jour.
Paramètres de connexion
Les valeurs à saisir dans n’importe quel client ou bibliothèque :
| Paramètre | Valeur |
|---|---|
| Serveur SMTP | smtp-relay.brevo.com |
| Port | 587, 465 ou 2525 |
| Chiffrement | Laisser vide sauf sur le port 465, qui exige SSL ou TLS |
| Nom d’utilisateur | Votre login SMTP, au format [email protected] |
| Mot de passe | Votre clé SMTP |
Choisir un port
| Port | Chiffrement | Quand l’utiliser |
|---|---|---|
| 587 | TLS, négocié avec STARTTLS | Le choix par défaut. Commencez ici. |
| 465 | SSL ou TLS, implicite dès la connexion | Quand votre client exige une connexion chiffrée implicitement |
| 2525 | TLS, négocié avec STARTTLS | Quand votre hébergeur bloque le 587 |
Brevo recommande le 587 par défaut. Le port 465 avait été désigné pour le SMTP sur SSL puis déprécié, mais il reste largement pris en charge et convient quand la connexion doit être chiffrée avant la première commande. Le port 2525 n’est enregistré ni par l’IETF ni par l’IANA, mais la plupart des fournisseurs d’accès et des hébergeurs cloud l’autorisent, ce qui en fait la porte de sortie quand le 587 est bloqué.
Le champ de chiffrement fait trébucher beaucoup de monde. Brevo vous dit de le laisser vide sauf sur le 465. Cela ne veut pas dire que la connexion n’est pas chiffrée : sur 587 et 2525, le serveur annonce STARTTLS et tout client correct passe en chiffré avant de s’authentifier. Cela veut dire que vous ne devez pas sélectionner « SSL » en vous connectant sur le 587, parce qu’un décalage entre port et chiffrement fait échouer l’authentification même avec des identifiants corrects.
Testez la connexion avant d’écrire la moindre ligne de code
Vérifiez que le relais répond et que le TLS se négocie avant de déboguer le code applicatif.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587Une poignée de main réussie se termine par la liste de capacités 250 du serveur, qui doit inclure STARTTLS et une ligne AUTH mentionnant PLAIN et LOGIN. L’absence totale de bannière est un problème réseau, pas un problème d’identifiants.
Authentifier votre domaine d’envoi
C’est l’étape que l’on saute, et c’est elle qui décide si quoi que ce soit arrive. Depuis le 1er février 2024, l’authentification du domaine est obligatoire au titre des exigences expéditeur de Gmail et Yahoo, et Brevo signale que Microsoft a annoncé des standards similaires le 5 mai 2025. Le courrier non authentifié est filtré ou rejeté, quel que soit le relais qui l’a envoyé.
Les enregistrements demandés par Brevo
| Enregistrement | Type | Rôle |
|---|---|---|
| Code Brevo | TXT | Vérifie que vous possédez et contrôlez le domaine d’envoi |
| DKIM | 1 TXT ou 2 CNAME | Signe les messages pour que les destinataires détectent une modification en transit |
| DMARC | TXT | Indique aux serveurs destinataires comment traiter le courrier suspect, avec une politique none, quarantine ou reject |
Brevo peut ajouter ces enregistrements automatiquement si vous vous connectez à votre fournisseur de domaine depuis l’intérieur de Brevo, ou vous pouvez recopier les valeurs à la main dans votre zone DNS. La forme de DKIM que vous obtenez dépend du compte : deux enregistrements CNAME utilisent une clé de 2048 bits par défaut, la forme TXT unique une clé de 1024 bits.
Pourquoi il n’y a pas d’enregistrement SPF
La FAQ de Brevo est explicite : les enregistrements SPF et MX ne sont pas nécessaires pour authentifier un domaine, et ne sont fournis que lors de la configuration d’une IP dédiée. Sur l’infrastructure mutualisée, Brevo contrôle le chemin de retour, si bien que DKIM plus la vérification de propriété portent l’authentification. Si vous migrez depuis un prestataire qui exigeait un include SPF, n’en inventez pas un : un include inutile ne fait que risquer un dépassement de la limite de résolutions.
DMARC compte toujours, et Brevo publie un enregistrement de départ fonctionnel :
v=DMARC1; p=none; rua=mailto:[email protected]Commencez sur p=none pour obtenir des rapports agrégés sans risquer la livraison, puis resserrez vers quarantine et reject une fois toutes les sources légitimes alignées. Notre guide de la délivrabilité e-mail couvre cette progression.
Vérifier l’expéditeur
Chaque adresse From doit être un expéditeur vérifié ou se trouver sur un domaine authentifié. Un nouvel expéditeur se vérifie avec un code à 6 chiffres envoyé à cette adresse, mais les expéditeurs d’un domaine authentifié sautent cette étape, d’où l’intérêt d’authentifier d’abord. Les domaines de messagerie gratuits ne peuvent pas être authentifiés : une adresse From en gmail.com ou outlook.com sera donc rejetée ou filtrée.
Guides d’intégration pas à pas
WordPress
WordPress confie le courrier sortant à wp_mail, qui appelle ce que l’hébergeur fournit. Le router via Brevo demande une extension.
- Dans la barre latérale d’administration, allez dans Extensions, puis Ajouter une extension.
- Cherchez Brevo, installez « Newsletter, SMTP, Email marketing and Subscribe forms by Brevo », puis activez-la.
- Allez dans Brevo, puis Home, et saisissez votre clé API Brevo v3 dans le champ d’activation. Cette étape utilise une clé API parce que l’extension synchronise aussi les contacts. Cliquez sur Login.
- Sous Transactional emails, sélectionnez Yes.
- Choisissez un expéditeur existant ou créez-en un. Chaque e-mail WordPress utilisera ce nom et cette adresse d’expéditeur.
- Saisissez une adresse et cliquez sur Send email pour déclencher un test.
Deux erreurs reviennent souvent. Un message indiquant que les e-mails transactionnels ne sont pas activés parce que votre compte Brevo SMTP n’a pas été activé signifie que le support Brevo doit activer la plateforme. Un message indiquant que le SMTP ne peut pas être utilisé parce que wp_mail a été déclaré par un autre processus signale une extension SMTP concurrente : désactivez les autres une par une.
Une application côté serveur
L’exemple Node.js de Brevo lui-même utilise nodemailer et les paramètres ci-dessus :
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // true pour le 465, false pour les autres ports auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Votre commande est confirmée", text: "La commande 10482 est confirmée et expédiée sous deux jours ouvrés.", }); console.log("Message envoyé :", info.messageId);}
sendOrderConfirmation().catch(console.error);Notez secure: false sur le port 587. Cet indicateur contrôle le TLS implicite, pas le fait que la connexion soit chiffrée ; nodemailer émet quand même STARTTLS. Ne le passez à true que pour le 465.
L’équivalent Python avec la bibliothèque standard :
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Votre commande est confirmée"msg.set_content("La commande 10482 est confirmée et expédiée sous deux jours ouvrés.")
with smtplib.SMTP("smtp-relay.brevo.com", 587, timeout=20) as server: server.starttls(context=ssl.create_default_context()) server.login(BREVO_SMTP_LOGIN, BREVO_SMTP_KEY) server.send_message(msg)Les deux lisent les identifiants depuis l’environnement, ce qui est le sujet de la section suivante.
Sécurité et rotation des clés
Brevo traite les clés SMTP comme des mots de passe. Les règles opérationnelles méritent d’être suivies à la lettre.
- Une clé par intégration. Nommez chaque clé d’après le système qui l’utilise, pour qu’une fuite ou une mise hors service ne révoque qu’une seule chose.
- Ne committez jamais une clé. Variables d’environnement, gestionnaire de secrets ou stockage de configuration de votre plateforme. Pas le contrôle de version, pas un fichier
.envsuivi, pas une capture d’écran. - Faites la rotation sans interruption. Générez la remplaçante, déployez, confirmez que l’envoi fonctionne, puis supprimez l’ancienne clé. La suppression est irréversible, et supprimer une clé encore utilisée arrête immédiatement l’envoi transactionnel.
- Désactivez plutôt que de supprimer pour mettre une intégration en pause. Les clés peuvent être réactivées ensuite.
- Attendez-vous à l’expiration. Les clés peuvent porter une expiration de 7 jours à 1 an, et Brevo fait expirer les clés inactives au bout de 90 jours.
Pour une frontière plus stricte, Brevo peut bloquer les requêtes provenant d’adresses IP inconnues. La liste des adresses autorisées est partagée entre les clés API et les clés SMTP : tout ce que vous autorisez s’applique aux deux. Soyez prudent sur les charges conteneurisées ou cloud, où l’adresse sortante peut être une passerelle NAT plutôt que l’IP de l’instance que vous imaginez : une erreur produit un rejet 525 5.7.1 Unauthorized IP address.
Les équipes qui font tourner Brevo à côté d’une boutique, d’un CRM et d’un service d’assistance finissent par gérer plusieurs clés, expéditeurs et domaines en même temps. Tajo rassemble cette configuration en un seul endroit plutôt que dans quatre tableaux de bord.
Limites d’envoi et régulation
L’envoi SMTP puise dans les crédits e-mail de votre forfait. Sur le forfait gratuit, cela signifie 300 envois d’e-mails par jour ; la limite se réinitialise chaque jour et les envois inutilisés ne sont pas reportés. Une fois la limite atteinte, Brevo conserve jusqu’à 1 000 e-mails supplémentaires dans une file de reprise et ne livre rien au-delà de cette file. Les forfaits payants suppriment le plafond quotidien, et le guide des tarifs Brevo détaille les paliers.
Quand les crédits sont totalement épuisés, les messages soumis en SMTP sont mis en pause et en file d’attente plutôt que perdus. L’arriéré se trouve sous Transactionnel, puis Temps réel, puis Utilisation et forfait, dans la section File d’attente des e-mails.
Brevo publie des limites de débit strictes pour l’API REST plutôt que pour le relais. Sur le niveau général, POST /v3/smtp/email autorise 1 000 requêtes par seconde, et un dépassement renvoie 429 Too Many Requests. Le chemin API renvoie aussi des en-têtes de limite de débit sur lesquels se caler, ce que le relais ne fait pas.
Surveiller les rebonds et les plaintes
Le courrier relayé est visible sous Transactionnel, dans les pages Statistiques et Journaux. Les événements qui exigent une réaction :
- Rebond dur. L’adresse est invalide, et Brevo blackliste automatiquement le contact.
- Bloqué. Le destinataire a déjà porté plainte, s’est désabonné, a généré un rebond dur ou a été bloqué manuellement.
- Différé et rebond souple. Le fournisseur a accepté la connexion mais a retardé ou refusé le message. Des différés récurrents chez un même fournisseur signalent un problème de réputation, pas un problème de code.
Interroger les journaux en boucle ne passe pas à l’échelle. Brevo prend en charge des webhooks transactionnels qui poussent en temps réel les événements de livraison, de rebond, d’ouverture et de plainte vers votre endpoint : c’est ainsi que vous maintenez à jour vos propres données de suppression.
Le chiffre à surveiller est le taux de plaintes pour spam. Gmail, Yahoo et Microsoft exigent des expéditeurs de rester sous 0,3 %, et Brevo recommande de le suivre avec Gmail Postmaster Tools. Se remettre d’un dépassement prend bien plus longtemps que de l’éviter.
Dépannage
535 5.7.8 Authentication failed
Le nom d’utilisateur ou le mot de passe n’a pas pu être vérifié. Par ordre de probabilité :
- L’adresse e-mail du compte a été utilisée à la place du login SMTP au format
[email protected]. smtp-relay.brevo.coma été collé dans le champ nom d’utilisateur. Brevo cite ce cas parmi les causes les plus fréquentes.- Une clé API a été utilisée à la place d’une clé SMTP.
- La clé porte un espace ou un retour à la ligne en trop, hérité d’un copier-coller.
- Le paramètre de chiffrement ne correspond pas au port.
- La clé a été invalidée après une alerte de sécurité, auquel cas il faut en générer une nouvelle.
525 5.7.1 Unauthorized IP address
Le blocage par IP est actif et l’adresse qui se connecte n’est pas autorisée. Ajoutez-la, et vérifiez d’abord votre véritable adresse de sortie si l’application tourne derrière un NAT ou sur une plateforme de conteneurs.
Aucune réponse et aucune bannière
Si la connexion TCP s’ouvre mais que le serveur n’envoie jamais son message d’accueil 220, l’authentification ne peut pas commencer et la panne est de votre côté du réseau. Les pare-feux d’entreprise autorisent parfois la connexion puis abandonnent silencieusement le trafic SMTP. AWS, Azure et Google Cloud restreignent par défaut le SMTP sortant sur les nouveaux comptes. Demandez la levée de la restriction, ou basculez sur le port 2525.
450, plateforme non activée
L’erreur indique que votre compte SMTP n’est pas encore activé ou que votre plateforme d’envoi est actuellement désactivée. Sur un nouveau compte, l’envoi transactionnel demande une étape d’activation distincte auprès du support Brevo. Sur un compte établi, cela signifie en général une suspension, soit parce qu’un formulaire non protégé a été pris pour cible par des inscriptions automatisées, soit parce que le compte a montré des signes de compromission.
Expéditeur rejeté
Vérifiez trois choses : le domaine est authentifié, l’expéditeur est vérifié, et l’en-tête From n’est pas votre login SMTP.
Le courrier est accepté mais arrive en spam
Procédez dans cet ordre. Confirmez que le domaine d’envoi est authentifié et que DKIM signe bien. Confirmez que le domaine du From est le vôtre et non un fournisseur de messagerie gratuit. Comparez votre taux de plaintes dans Postmaster Tools au seuil de 0,3 %. Ne regardez le contenu qu’une fois ces vérifications propres, car il n’est presque jamais la première cause.
IP dédiées
Une IP dédiée n’aide qu’à volume élevé et régulier. Elle doit être montée en charge progressivement avant d’y envoyer sérieusement, et elle demande un sous-domaine d’envoi qui apparaîtra comme domaine mailed by et return path dans vos en-têtes. C’est la seule configuration où Brevo fournit des enregistrements SPF et MX, aux côtés des enregistrements A, CNAME, DKIM et DMARC de ce sous-domaine.
Deux détails piègent les équipes. Une IP dédiée configurée pour l’e-mail marketing uniquement met vos messages transactionnels en file d’attente au lieu de les envoyer : changez son réglage ou achetez une seconde IP. Et séparer le routage transactionnel du routage marketing demande un pool d’au moins deux IP avec des expéditeurs distincts, pour qu’un faible engagement sur le marketing ne puisse pas entraîner vers le bas les reçus et les réinitialisations de mot de passe.
Réussir du premier coup
Authentifiez le domaine, créez une clé SMTP nommée, connectez-vous à smtp-relay.brevo.com sur le 587, et envoyez un test via le vrai chemin de code plutôt que par un bouton du tableau de bord. Presque tous les problèmes ultérieurs remontent à l’une de ces trois causes.
- Le mauvais identifiant dans le champ nom d’utilisateur ou mot de passe.
- Un réglage de port et de chiffrement qui se contredisent.
- Un domaine d’envoi qui n’a jamais été authentifié.
Réglez cela correctement et le relais disparaît à l’arrière-plan, ce que doit faire une infrastructure transactionnelle.