Background image: Matthieu's World Background image: Matthieu's World
Social Icons

Pourquoi j'ai choisi Brevo pour envoyer les emails de mon SaaS (et pas le SMTP de mon hébergeur)

8 min de lecture
Par Matthieu Cousin

Table des matières

Retour d'expérience sur VetoWork, plateforme de recrutement vétérinaire


Le problème : mes emails finissaient en spam

Quand j'ai lancé VetoWork, j'envoyais mes emails (confirmations de compte, alertes emploi, notifications) via le SMTP de mon hébergeur O2Switch. Gratuit, simple, pourquoi chercher plus compliqué ?

Et là, les retours utilisateurs ont commencé à arriver :

  • "Je n'ai pas reçu mon code de connexion"
  • "Ton email était dans mes spams"
  • "J'ai dû chercher dans le dossier indésirables"

Ce n'était pas de la malchance. D'après le rapport de délivrabilité 2025 de Validity, un email légitime sur six n'atteint jamais la boîte de réception : le taux de placement mondial tourne autour de 83%, le reste part en spam ou disparaît en route.

Et voilà le détail qui explique pourquoi on ne s'en rend pas compte. Le chiffre que ton hébergeur ou ton outil t'affiche, le taux de délivrance, est proche de 98%. Mais il ne mesure qu'une chose : le serveur d'en face a accepté ton message. Il ne dit rien de l'endroit où il a atterri. Quinze points d'écart séparent « accepté » de « lu », et c'est dans cet écart que vivent tous tes utilisateurs qui n'ont jamais reçu leur code.

J'ai passé 30 minutes à configurer Brevo. Problème réglé.


Pourquoi le SMTP de ton hébergeur est une mauvaise idée

Le problème de l'IP partagée

Ton hébergeur (O2Switch, OVH, Ionos...) met des centaines de clients sur la même adresse IP. Si un seul d'entre eux envoie du spam, tout le monde est pénalisé.

Gmail, Outlook et Yahoo regardent la réputation de l'IP qui envoie l'email. Une IP partagée avec des inconnus, c'est une loterie.

Aucune visibilité

Avec un SMTP basique, tu ne sais rien :

  • Est-ce que tes emails arrivent ?
  • Pourquoi ils sont rejetés ?
  • Qui te bloque ?

Tu découvres le problème quand un utilisateur te contacte pour dire qu'il n'a rien reçu. Pas top.

Les nouvelles règles de 2025

Depuis février 2024 (Gmail/Yahoo) et mai 2025 (Microsoft), l'authentification email est obligatoire pour les envois en volume. Sans SPF, DKIM et DMARC correctement configurés, tes emails sont rejetés. Point.


Ce que Brevo m'apporte (et que je ne peux pas faire moi-même)

1. La réputation IP

C'est le truc crucial. Brevo a des serveurs avec des IP qui ont des années de bonne réputation. Gmail leur fait confiance.

Toi, tu pars de zéro. Construire une réputation IP prend des mois, voire des années. Et si tu la perds (un pic d'envoi mal géré, quelques spam reports), c'est très dur à récupérer.

Tu ne peux pas acheter une réputation. Elle se construit.

2. La gestion automatique des erreurs

Quand quelqu'un a une boîte pleine, une adresse invalide, ou clique "signaler comme spam", Brevo :

  • Détecte l'erreur
  • Arrête d'envoyer à cette adresse
  • Protège ta réputation

Si tu fais ça toi-même, tu dois :

  • Implémenter des webhooks pour recevoir les bounces
  • Parser les erreurs SMTP (chaque provider a son format)
  • Maintenir une blacklist
  • Gérer les retry avec backoff exponentiel

Et si tu rates un spam complaint et que tu renvoies un email à quelqu'un qui t'a signalé → ta réputation coule.

3. Le warmup d'IP

Si tu lances une feature et que tu envoies 5000 emails d'un coup depuis une nouvelle IP → blacklist immédiate.

Les ESP font du "warmup" : ils montent progressivement le volume sur leurs IP pendant des semaines. Toi, tu profites de leurs IP déjà "chaudes".

4. L'authentification simplifiée

SPF, DKIM, DMARC... tu peux les configurer toi-même. Mais Brevo te donne exactement les valeurs à copier-coller et vérifie que c'est bien configuré.

Sans ESP, tu découvres que ton DKIM est cassé quand tes utilisateurs te disent "j'ai pas reçu l'email".


Ce que je fais moi-même (pas besoin de Brevo pour ça)

Brevo propose plein de features (templates, segmentation, CRM, campagnes marketing). Je n'utilise presque rien de tout ça.

Mes templates : du code

// src/lib/email.ts - VetoWork
const html = `
  <div style="max-width: 600px; margin: 0 auto;">
    <h1>Bienvenue sur VetoWork, ${firstName} !</h1>
    <p>Votre code de connexion :</p>
    <div style="font-size: 48px; font-weight: bold;">${otp}</div>
  </div>
`;

Je n'utilise pas l'éditeur de templates Brevo. J'écris mon HTML directement dans le code (ou avec react-email pour les templates plus complexes). C'est plus flexible et je version tout dans Git.

Ma segmentation : ma base de données

J'ai une table users avec une colonne role (candidat ou recruteur). Pas besoin des segments Brevo pour ça.

Je sync mes utilisateurs vers Brevo (pour un éventuel usage marketing futur), mais ma source de vérité reste ma base de données.

Mes analytics : mon webhook + ma table

Brevo m'envoie un webhook pour chaque event. Je stocke tout dans ma table email_events : opens, clicks, bounces, spam reports.

J'ai mon propre dashboard d'analytics email dans mon admin. Je ne dépends pas de l'interface Brevo.

Bref : j'utilise Brevo comme un "tuyau intelligent" pour envoyer mes emails. Le reste, je le gère moi-même.


La configuration, de bout en bout

Étape 1 : Créer un compte Brevo (2 min)

Rien de spécial. Email, mot de passe, c'est fait.

Étape 2 : Ajouter ton domaine (5 min)

Dans Brevo : Senders & IP → Domains → Add a domain

J'ai ajouté vetowork.fr.

Étape 3 : les DNS, que tu ne poses plus à la main (2 min)

Quand j'ai fait cette configuration, il fallait aller créer trois enregistrements à la main chez son registrar. C'était l'étape longue, et celle où l'on se trompe.

Ce n'est plus le cas. Brevo se connecte maintenant directement à ton hébergeur DNS et pose les enregistrements pour toi. Tu autorises la connexion, il écrit, c'est fini. Les vingt minutes ne reviennent que si ton hébergeur n'est pas dans leur liste.

Ça ne te dispense pas de savoir ce qui vient d'être écrit sur ton domaine, et je t'ai mis l'explication du système de noms de domaine ici. Voilà les trois enregistrements, et ce que chacun autorise :

SPF (qui a le droit d'envoyer pour ton domaine) :

Type: TXT
Nom: @
Valeur: v=spf1 include:spf.brevo.com ~all

DKIM (signature cryptographique) :

Type: TXT
Nom: mail._domainkey
Valeur: v=DKIM1; k=rsa; p=MIGfMA0GCS... (fourni par Brevo)

DMARC (que faire si SPF/DKIM échouent) :

Type: TXT
Nom: _dmarc
Valeur: v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com

Étape 4 : vérifier, surtout si tu as laissé faire (3 min)

Retour sur Brevo, clic sur "Verify". Trois checkmarks verts, c'est bon.

Et puisque tu n'as rien tapé toi-même, prends trente secondes pour regarder ce qui a été écrit dans ta zone DNS. Pas par méfiance : parce que le cas qui suit n'est pas rattrapé par l'automatisation.

Mon erreur : j'avais oublié Brevo dans le SPF

Quelques semaines après la config initiale, des emails continuaient à aller en spam. J'ai investigué et j'ai trouvé le problème :

# Ce que j'avais (MAUVAIS)
v=spf1 include:spf.jabatus.fr ~all

# Ce qu'il fallait (BON)
v=spf1 include:spf.brevo.com include:spf.jabatus.fr ~all

J'avais configuré le SPF de mon hébergeur (O2Switch = jabatus.fr), mais j'avais oublié d'ajouter Brevo. Du coup, quand Brevo envoyait un email pour contact@vetowork.fr, Gmail vérifiait le SPF, ne trouvait pas les serveurs Brevo dans la liste autorisée, et marquait l'email comme suspect.

30 secondes pour corriger le DNS. Problème réglé.

C'est précisément le piège que la connexion automatique ne voit pas forcément. Un domaine ne peut avoir qu'un seul enregistrement SPF : si tu en avais déjà un, il faut y ajouter Brevo, pas en créer un second à côté. Deux lignes SPF sur un domaine, et les deux deviennent invalides. Si tes emails partent encore en spam après une configuration qui affiche du vert partout, regarde là en premier.


Les limites de Brevo (pour être honnête)

300 emails par jour sur le plan gratuit

Le plan free est limité à 300 emails/jour (transactionnels + marketing confondus).

Pour VetoWork en phase de lancement, c'est suffisant. Mais si tu as 200 inscriptions par jour + des alertes emploi + des notifications de messages, tu peux vite dépasser.

Branding "Powered by Brevo"

Sur le plan gratuit, un petit footer Brevo apparaît dans tes emails. Pas très pro pour un SaaS.

Le premier palier payant l'enlève.

IP partagée

Sur les plans free et starter, tu partages l'IP avec d'autres clients Brevo. Le risque est faible (Brevo surveille les abus), mais il existe.

Pour du volume critique, on prend une IP dédiée, facturée en plus.

Support basique

Plan free = support email uniquement, réponse en 24-48h. Si t'as un problème urgent un vendredi soir, bon courage.

Le MCP renvoie des données incompatibles

Brevo a un MCP officiel. Le problème : il renvoie des données dans un format que Claude Code ne sait pas lire.

C'est dommage parce que c'est typiquement un MCP de type "documentation", le genre qui donne à l'IA accès à des infos complexes pour qu'elle soit plus pertinente. Claude pourrait consulter tes contacts, tes bounces récents, ta délivrabilité, et te donner des conseils contextualisés.

Je ne l'ai pas attendu. J'appelle l'API REST en direct, et je n'ai pas l'intention de revenir au MCP même s'il est corrigé un jour. Un appel HTTP marche partout, dans Claude Code comme dans un script lancé par mon serveur, et il n'occupe pas de place dans le contexte tant que je ne m'en sers pas. C'est devenu ma règle générale, pas seulement pour Brevo.


Ce que ça coûte

Je ne mets pas de grille tarifaire ici, elle serait fausse dans six mois. La structure, elle, ne bouge pas :

Palier Ce qu'il apporte
Gratuit SMTP, API et webhooks, avec un plafond quotidien et le logo Brevo en bas des emails. Largement suffisant pour lancer.
Premier palier payant Le logo disparaît et le plafond quotidien saute. C'est ce qu'on paie en premier, et le prix d'un abonnement de streaming.
Palier au-dessus Tests A/B et statistiques avancées. Utile pour du marketing, pas pour des emails transactionnels.
Sur devis IP dédiée et engagement de service. À ce niveau, tu as quelqu'un dont c'est le métier.

Les montants du jour sont sur leur page de tarifs, c'est le seul endroit qui restera juste.

Mon choix pour VetoWork : j'ai commencé en gratuit, et je passerai au premier palier payant quand le volume augmentera ou si le logo Brevo commence à me gêner.

Pour un SaaS en lancement, le plan free est largement suffisant.


SMTP hébergeur vs Brevo : le comparatif

SMTP hébergeur Brevo Free
Prix 0€ 0€
Réputation de l'IP Celle de tous les clients de l'hébergeur Surveillée et nettoyée en continu
Réputation IP Partagée avec inconnus Gérée par Brevo
Config SPF/DKIM/DMARC À faire seul, debug à l'aveugle Guidé, vérifié
Gestion bounces À implémenter Automatique
Monitoring Aucun Dashboard + webhooks
Conformité Gmail 2025 À gérer seul Automatique

Ce que j'aurais aimé savoir avant

30 minutes de configuration, et les plaintes se sont arrêtées. Je n'ai pas de chiffre propre à te donner : je n'avais pas de mesure avant, et c'est précisément le problème quand on envoie par le SMTP de son hébergeur, on ne mesure rien. Ce que je sais, c'est que personne ne m'a plus jamais écrit pour dire qu'il n'avait pas reçu son code.

Brevo n'est pas magique. C'est juste un "tuyau intelligent" qui gère les problèmes que tu ne veux pas gérer toi-même : réputation IP, bounces, authentification, conformité.

Le reste (templates, segmentation, analytics), tu peux très bien le faire toi-même. Avec l'IA aujourd'hui, créer un template email HTML prend 2 minutes.

D'ailleurs, j'utilise Brevo sur tous mes projets maintenant. Dans la Vibe Academy, c'est intégré dès le départ : les emails de confirmation de compte, la double authentification pour accéder aux plateformes web... Tout passe par Brevo.

Ce que tu paies vraiment avec Brevo : la tranquillité d'esprit que tes emails arrivent.


Article basé sur mon expérience avec VetoWork, plateforme de recrutement vétérinaire. Configuration Brevo réalisée en janvier 2026.

Besoin d’un coup de main pour cette partie technique ?

Je sais que parfois, même bien expliqué, un workflow reste intimidant.
Si tu préfères qu’on le mette en place ensemble, contacte-moi : je suis freelance en automatisation, et je peux t’aider à passer de “je devrais le faire” à “c’est déjà en place”.

Sinon, continue de piocher dans les ressources du site, elles sont faites pour ça ✌️

Commentaires