Envoyer des courriels avec Brevo : passer du SMTP à l’API REST pour un meilleur contrôle

Créé par Jean-Emmanuel Bissey le 26/05/2026 modifié le 28/05/2026 Publié

J’utilisais initialement PHPMailer avec le SMTP de Brevo pour envoyer les courriels.

En apparence, tout fonctionnait parfaitement :
✅ authentification SMTP
✅ envoi rapide
✅ HTML
✅ bonne délivrabilité

Puis un détail est venu tout casser : le suivi des clics.

Brevo réécrit automatiquement tous les liens des emails en URLs de tracking.
Pratique pour les statistiques… beaucoup moins quand on veut envoyer des liens, car ils produisent systèmatiquement des erreurs 404.

J’ai testé :

  • des headers personnalisés ;
  • différentes options dans PHPMailer ;
  • du HTML modifié ;

Résultat : rien ne désactive la réécriture des liens via SMTP.

J’ai donc contacté le support Brevo… qui m’a répondu très rapidement :

En SMTP, Brevo réécrit automatiquement les liens pour assurer le suivi des clics.
Il n’est pas possible de désactiver complètement cette réécriture côté SMTP.
Pour garder un contrôle fin, utilisez l’API REST avec trackClicks: false.

Voici comment faire.


1. Récupérer sa clé API Brevo

Elle ressemble à : xkeysib-xxxxxxxxxxxxxxxxxxxxxxxx



2. Initialiser le client API


3. Envoyer un email HTML


4. Tester

Le lien est toujours modifié, 😠, en ne fonctionne que si le lien est public


Bilan

Utiliser l'API. ne change rien (pour l'instant du moins j'attends toujours une réponse du support)

Et bonus appréciable (?) : le support Brevo a répondu vite au début, mais ...