Aller au contenu principal

Comment tester la connectivité SMTP de vos serveurs MX

Par CaptainDNS
Publié le 17 février 2026

Test de connectivité SMTP d'un serveur MX : banner, STARTTLS, certificat TLS et open relay
TL;DR
  • Un enregistrement MX valide ne prouve pas que votre serveur mail fonctionne : testez la connexion TCP, le banner, STARTTLS et le certificat TLS
  • Utilisez telnet pour vérifier la connectivité port 25 et le banner SMTP, puis openssl s_client pour inspecter STARTTLS et le certificat
  • Les problèmes courants (port 25 bloqué, certificat expiré, STARTTLS mal configuré) sont silencieux : seul un test actif les détecte
  • Automatisez le diagnostic avec le SMTP/MX Connectivity Tester de CaptainDNS pour tester tous vos MX en une seule requête

Vos enregistrements SPF, DKIM et DMARC sont correctement configurés. Votre domaine passe tous les tests DNS. Pourtant, certains emails n'arrivent pas à destination, ou arrivent sans chiffrement TLS. Le problème ne vient pas de la configuration DNS, mais de la couche transport : la connexion SMTP entre les serveurs.

Ce guide vous montre comment tester la connectivité SMTP de vos serveurs MX, de la résolution DNS jusqu'à l'inspection du certificat TLS. Chaque commande est reproductible depuis un terminal Linux, macOS ou WSL. Que vous diagnostiquiez un problème de livraison ou que vous auditiez la sécurité de votre infrastructure email, vous saurez exactement quoi vérifier et comment interpréter les résultats.

Pourquoi tester la connectivité SMTP de vos MX ?

La configuration DNS (enregistrements MX, SPF, DKIM, DMARC) est une condition nécessaire, mais pas suffisante. Trois catégories de problèmes échappent aux outils de vérification DNS classiques.

La délivrabilité dépend du transport

Si votre serveur MX est injoignable sur le port 25, les serveurs expéditeurs reçoivent une erreur "connection timed out" et retentent pendant 24 à 48 heures avant d'abandonner. Le message est perdu, et l'expéditeur reçoit un bounce tardif. Ce type de panne est invisible depuis votre côté tant que vous ne testez pas activement.

Le chiffrement TLS n'est pas garanti

En 2024, plus de 95 % des emails reçus par Gmail transitent via TLS (Google Transparency Report). Mais STARTTLS est opportuniste : si la négociation échoue silencieusement, la connexion continue en clair. Un certificat expiré ou une mauvaise configuration TLS peut dégrader la sécurité de tous vos flux entrants sans générer d'alerte.

Un open relay détruit votre réputation

Un serveur SMTP qui accepte de relayer du mail pour n'importe qui est un open relay. Les spammeurs l'exploitent en quelques heures, et votre IP se retrouve sur les blacklists (Spamhaus, Barracuda, SpamCop). Tous vos emails sortants sont alors rejetés.

Les 7 étapes d'un test de connectivité SMTP complet

Ce que vérifie un test SMTP complet

Un test de connectivité SMTP complet couvre sept points, dans cet ordre.

ÉtapeVérificationOutil
1Résolution DNS MXdig ou nslookup
2Connexion TCP port 25telnet
3Banner SMTP (220)telnet
4Extensions EHLOtelnet
5STARTTLS et version TLSopenssl s_client
6Certificat TLS (validité, expiration, SAN)openssl s_client
7Test open relaytelnet

Chaque étape peut échouer indépendamment. Un serveur peut répondre sur le port 25, annoncer STARTTLS dans EHLO, mais échouer à la négociation TLS à cause d'un certificat expiré.

Étape 1 : résoudre les enregistrements MX

Avant de tester la connectivité, identifiez les serveurs MX de votre domaine. La commande dig retourne les MX triés par priorité :

$ dig captaindns.com MX +short
10 mx1.captaindns.com.
20 mx2.captaindns.com.

Le chiffre (10, 20) est la priorité : les serveurs expéditeurs contactent d'abord le MX avec la valeur la plus basse. Testez tous vos MX, pas seulement le primaire. Un MX secondaire mal configuré reste joignable et peut accepter du mail sans TLS.

Si dig ne retourne aucun résultat, le problème est DNS : votre domaine n'a pas d'enregistrement MX, ou le DNS ne répond pas.

Étape 2 : tester la connexion TCP et le banner avec telnet

La commande telnet teste deux choses en une seule opération : l'ouverture du port TCP 25 et la réception du banner SMTP.

$ telnet mx1.captaindns.com 25
Trying 203.0.113.10...
Connected to mx1.captaindns.com.
Escape character is '^]'.
220 mx1.captaindns.com ESMTP Postfix

Interpréter le résultat

RésultatSignificationAction
Connected + 220 ...Serveur joignable, banner OKContinuer le test
Connection refusedPort 25 fermé ou service arrêtéVérifier le firewall et le service SMTP
Connection timed outPort 25 bloqué (FAI, firewall)Tester depuis un autre réseau
220 sans hostnameBanner mal configuréCorriger la config MTA

Capturer les extensions EHLO

Après le banner, envoyez la commande EHLO pour découvrir les capacités du serveur :

EHLO test.captaindns.com
250-mx1.captaindns.com
250-PIPELINING
250-SIZE 52428800
250-STARTTLS
250-8BITMIME
250-SMTPUTF8
250 OK

Cherchez 250-STARTTLS dans la réponse : c'est la ligne qui confirme que le serveur supporte le chiffrement TLS. Si elle est absente, le serveur n'accepte que les connexions en clair.

Étape 3 : tester STARTTLS et le certificat TLS avec openssl

telnet ne peut pas initier une négociation TLS. Pour tester STARTTLS et inspecter le certificat, utilisez openssl s_client :

$ openssl s_client -connect mx1.captaindns.com:25 -starttls smtp
CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = mx1.captaindns.com
verify return:1
---
Certificate chain
 0 s:CN = mx1.captaindns.com
   i:C = US, O = Let's Encrypt, CN = R3
 1 s:C = US, O = Let's Encrypt, CN = R3
   i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
---
[...]
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
[...]

Les informations clés à vérifier

Version TLS : cherchez la ligne New, TLSv1.X. TLS 1.3 est optimal, TLS 1.2 est acceptable. TLS 1.0 et 1.1 sont obsolètes et vulnérables.

Chaîne de certificats : verify return:1 à chaque niveau signifie que la chaîne est valide. verify return:0 indique un problème (certificat expiré, émetteur inconnu, SAN manquant).

Sujet du certificat : le CN ou les SAN doivent correspondre au hostname du MX. Un certificat émis pour mail.captaindns.com ne sera pas valide pour mx1.captaindns.com.

Vérifier la date d'expiration

$ openssl s_client -connect mx1.captaindns.com:25 -starttls smtp 2>/dev/null | openssl x509 -noout -dates
notBefore=Jan 15 00:00:00 2026 GMT
notAfter=Apr 15 23:59:59 2026 GMT

Si notAfter est dans le passé, le certificat est expiré. Les serveurs expéditeurs qui vérifient les certificats (via MTA-STS ou DANE) refuseront la connexion.

Étape 4 : tester l'open relay

Un open relay accepte de transmettre du mail pour des destinataires externes sans authentification. Pour le détecter, tentez d'envoyer un email vers un domaine que votre serveur ne gère pas :

$ telnet mx1.captaindns.com 25
220 mx1.captaindns.com ESMTP
EHLO test.captaindns.com
250 OK
MAIL FROM:<test@captaindns.com>
250 OK
RCPT TO:<test@domaine-externe.example>
550 5.7.1 Relaying denied
QUIT

Interpréter le résultat

Réponse à RCPT TOSignification
550 Relaying deniedServeur correctement configuré (pas un open relay)
250 OKOpen relay détecté, correction urgente requise
450 ou 451Greylisting actif (normal, pas un open relay)
554Rejeté pour une autre raison (blacklist, policy)

Si votre serveur retourne 250 OK à un RCPT TO vers un domaine externe, il est configuré en open relay. Corrigez immédiatement la configuration de votre MTA (Postfix : smtpd_relay_restrictions, Exchange : receive connectors).

Diagnostiquer les problèmes courants

Port 25 bloqué

Symptôme : telnet mx1.captaindns.com 25 retourne "Connection timed out".

Causes possibles :

  • Firewall local ou réseau qui bloque le port 25 en sortie
  • Hébergeur cloud (AWS, Google Cloud, Azure) qui bloque le port 25 par défaut
  • FAI qui bloque le port 25 sur les connexions résidentielles

Diagnostic : testez depuis un serveur hors de votre réseau. Si le test passe depuis l'extérieur mais échoue en local, le blocage est côté réseau/FAI. Pour plus de détails sur le blocage du port 25, consultez notre guide sur les ports SMTP.

Certificat TLS expiré

Symptôme : openssl s_client affiche verify return:0 et certificate has expired.

Impact : les serveurs qui appliquent MTA-STS refuseront de livrer les emails. Les serveurs sans MTA-STS livreront quand même (STARTTLS opportuniste), mais la connexion n'est pas authentifiée.

Solution : renouvelez le certificat (Let's Encrypt : certbot renew), puis rechargez le service SMTP.

STARTTLS annoncé mais échoue

Symptôme : le serveur annonce 250-STARTTLS dans EHLO, mais openssl s_client -starttls smtp échoue avec une erreur de handshake.

Causes possibles :

  • Certificat référencé dans la config MTA mais fichier absent ou illisible
  • Permissions incorrectes sur les fichiers de clé privée
  • Version TLS trop ancienne (TLS 1.0 refusé par le client)

Diagnostic :

$ openssl s_client -connect mx1.captaindns.com:25 -starttls smtp -debug 2>&1 | head -30

Timeout de connexion (serveur lent)

Symptôme : la connexion TCP s'établit, mais le banner met plus de 30 secondes à apparaître.

Impact : certains serveurs expéditeurs abandonnent après un timeout (généralement 5 minutes pour le banner, RFC 5321 section 4.5.3.2). Un MX lent provoque des retards de livraison et des retries inutiles.

Solution : vérifiez la charge du serveur, les règles de greylisting agressives, ou les lookups DNS inversés lents (PTR) dans la configuration du MTA.

Arbre de diagnostic des problèmes SMTP courants

Automatiser les tests SMTP

Les commandes telnet et openssl sont utiles pour un diagnostic ponctuel, mais elles ont des limites : elles ne testent qu'un seul serveur à la fois, ne produisent pas de rapport structuré et ne sont pas pratiques pour un monitoring régulier.

Script bash de vérification rapide

#!/bin/bash
# Test SMTP basique pour tous les MX d'un domaine
DOMAIN="captaindns.com"

echo "=== MX de $DOMAIN ==="
dig $DOMAIN MX +short | sort -n | while read priority mx; do
  mx="${mx%.}"  # Retirer le point final
  echo ""
  echo "--- $mx (priorité $priority) ---"

  # Test connexion port 25
  timeout 10 bash -c "echo QUIT | telnet $mx 25 2>&1" | head -5

  # Test STARTTLS + certificat
  echo | timeout 10 openssl s_client -connect $mx:25 -starttls smtp 2>/dev/null | \
    openssl x509 -noout -subject -dates 2>/dev/null || echo "STARTTLS: échec ou non supporté"
done

Ce script teste chaque MX du domaine : connexion TCP, banner et certificat TLS. Il ne couvre pas le test open relay (qui nécessite une interaction SMTP plus complexe).

Outil en ligne CaptainDNS

Pour un diagnostic complet sans installation, le SMTP/MX Connectivity Tester de CaptainDNS teste automatiquement tous les MX d'un domaine en une seule requête : résolution DNS, connexion port 25, banner, EHLO, STARTTLS, certificat TLS et détection open relay. Les résultats sont présentés avec un scoring par serveur et des codes de diagnostic explicites.


Testez la connectivité SMTP de vos serveurs MX : Utilisez notre SMTP/MX Connectivity Tester pour diagnostiquer en quelques secondes tous vos MX, avec validation du certificat TLS et détection open relay.


FAQ

Comment tester si un serveur SMTP répond sur le port 25 ?

Utilisez la commande telnet hostname 25. Si la connexion s'établit et que vous recevez une ligne commençant par 220, le serveur est joignable et le service SMTP fonctionne. Si vous obtenez "Connection refused" ou "Connection timed out", le port est fermé ou bloqué.

Comment vérifier le support STARTTLS d'un serveur MX ?

Connectez-vous avec telnet hostname 25, envoyez EHLO votre.hostname, et cherchez 250-STARTTLS dans la réponse. Pour tester la négociation TLS effective, utilisez openssl s_client -connect hostname:25 -starttls smtp. Si la négociation réussit, STARTTLS est fonctionnel.

Comment inspecter un certificat TLS SMTP avec openssl ?

Exécutez openssl s_client -connect hostname:25 -starttls smtp 2>/dev/null | openssl x509 -noout -text. Cette commande affiche le sujet, l'émetteur, les dates de validité, les SAN (Subject Alternative Names) et le type de clé. Vérifiez que le CN ou un SAN correspond au hostname du MX.

Comment détecter si un serveur est un open relay ?

Connectez-vous au serveur, envoyez MAIL FROM:&lt;test@captaindns.com&gt;, puis RCPT TO:&lt;test@domaine-externe.example&gt;. Si le serveur retourne 250 OK au RCPT TO vers un domaine qu'il ne gère pas, c'est un open relay. Un serveur correctement configuré retourne 550 Relaying denied.

Pourquoi mon serveur MX est injoignable sur le port 25 ?

Les causes les plus fréquentes : firewall qui bloque le port 25, hébergeur cloud qui bloque le port 25 par défaut (AWS, GCP, Azure), service SMTP arrêté, ou enregistrement MX pointant vers une mauvaise IP. Testez depuis un réseau différent pour isoler la cause.

Quelle version TLS est acceptable pour un serveur MX ?

TLS 1.2 est le minimum acceptable en 2026. TLS 1.3 est recommandé pour une sécurité optimale et de meilleures performances (handshake plus rapide). TLS 1.0 et 1.1 sont obsolètes (RFC 8996) et ne devraient plus être activés.

Quels outils en ligne testent la connectivité SMTP ?

Le SMTP/MX Connectivity Tester de CaptainDNS teste automatiquement tous les MX d'un domaine : banner, EHLO, STARTTLS, certificat TLS et open relay. D'autres outils comme MXToolbox SMTP Test ou CheckTLS offrent des fonctionnalités similaires, mais avec moins de détails sur le certificat.

Glossaire

  • Banner SMTP : Première réponse du serveur (code 220) lors de la connexion TCP. Contient le hostname et parfois le logiciel MTA (Postfix, Exchange, Exim).
  • EHLO : Extended HELO. Commande SMTP qui identifie le client et demande au serveur de lister ses extensions (STARTTLS, SIZE, PIPELINING, etc.).
  • STARTTLS : Extension SMTP (RFC 3207) qui permet de basculer une connexion en clair vers une connexion chiffrée TLS via une commande explicite.
  • Open relay : Serveur SMTP qui accepte de transmettre du mail pour des destinataires externes sans authentification. Vecteur de spam, cause de blacklisting rapide.
  • SAN : Subject Alternative Name. Champ du certificat TLS qui liste les hostnames pour lesquels le certificat est valide.
  • MTA : Mail Transfer Agent. Logiciel serveur qui transporte les emails (Postfix, Exim, Exchange, Sendmail).
  • Greylisting : Technique anti-spam qui rejette temporairement (code 450) les emails d'expéditeurs inconnus. Le serveur légitime retente, le spammeur non.

📚 Guides SMTP et connectivité email connexes

Sources

Articles similaires