Blog

J’ai espionné mes propres emails avec un tracker SMTP : les coulisses de leur voyage

 

On pense souvent qu’un email part et arrive instantanément. Mais entre l’envoi et la réception, il se passe parfois des choses… inattendues. Et comme je suis un peu obsessionnel, j’ai voulu savoir ce qui ralentissait réellement mes envois.

Alors j’ai fait ce que tout bon curieux ferait : j’ai espionné mes propres emails. Voici ce que j’ai découvert.

 

Ce qu’on croit savoir… et ce qui se passe vraiment

 

Envoyer un email, c’est simple en apparence. Un clic, et il est “parti”. Mais ça ne veut pas dire qu’il est arrivé.

La vérité : un email passe par une chaîne technique complexe :

  • Le client (Thunderbird, script Python, ESP, etc.) envoie via SMTP

  • Le serveur d’envoi (MTA) tente de livrer au domaine cible

  • Résolution DNS, vérification antispam, réputation, greylisting

  • Si tout va bien, le mail est accepté. Sinon, il attend dans une file.

Entre le clic et l’arrivée dans la boîte, il peut s’écouler… de 2 secondes à plusieurs minutes. Parfois plus.

 

Mon protocole d’espionnage SMTP

 

Pour cette expérience, j’ai utilisé :

  • Un domaine propre, avec SPF/DKIM/DMARC bien alignés
  • Plusieurs adresses de test : Gmail, Outlook, Yahoo, domaine auto-hébergé
  • Un petit script SMTP custom pour horodater précisément l’envoi
  • L’analyse des headers Received: des emails reçus
  • Des outils comme MXToolbox, Mailtrap, Postmark, Elastic Email

Mon objectif : mesurer le délai réel entre l’émission SMTP et l’apparition en boîte de réception.

 

Ce que j’ai observé

 

Gmail

Très rapide (souvent < 3 secondes)

Mais des pics de lenteur en heures de pointe (jusqu’à 10-15s)

 

Outlook (hotmail/live)

Greylisting fréquent → délais de 30s à 2 minutes

Antispam actif même sur des contenus simples

 

Yahoo

Très variable. Parfois rapide, parfois plusieurs minutes sans raison apparente

 

Domaine auto-hébergé

Si la réputation IP est bonne : rapide (5-10s)

Si la réputation est moyenne : parfois mis en attente (file d’attente postfix visible)

 

Le même email envoyé à 4 destinations a mis entre 2 secondes et 1 minute 38 selon la cible.

 

Ce qui cause réellement les retards

 

  • Greylisting : réponse temporaire 4xx pour tester si vous retentez

  • Antispam comportemental : contenu analysé en profondeur avant acceptation

  • DNS lent : lenteur dans la résolution du MX destinataire

  • File locale du serveur : surcharge, retry, politique de throtling

  • Blocage d’envoi sortant : parfois un problème chez l’émetteur (ex: quota dépassé)

 

Comment analyser vos propres délais

 

  • Regardez les en-têtes Received: dans vos emails
  • Activez les logs sur votre MTA (Postfix, Exim, etc.) → delay=X.XX
  • Comparez l’heure du Date: envoyé et du Received: destinataire
  • Utilisez des outils comme Mailtrap, Elastic Email, ou un webhook avec timestamp
  • Bonus : utilisez un tracker SMTP maison (voir ci-dessous)

 

Conclusion

 

Espionner ses propres emails est non seulement fun (si, un peu), mais surtout formateur.

On croit tout savoir… jusqu’à ce qu’un délai inexpliqué vienne remettre en question notre infra.

Un bon taux de délivrabilité, ce n’est pas juste “le mail n’est pas revenu en erreur”. C’est aussi :

  • Où est-il arrivé ? (inbox ou spam ?)

  • Quand ? (en combien de secondes/minutes ?)

Et si ce “quand” commence à dériver, il y a un sujet.

Vous pouvez reproduire ce genre de test chez vous, ou me contacter pour auditer vos flux SMTP en conditions réelles.

 

📥 Bonus à télécharger :

 

📬 Script SMTP Delay Tracker (Python)

 

📄 Fiche PDF : Lire les en-têtes Received des emails