Tester le relais SMTP

Il y a de fortes chances que vous lisiez cet article de blog après avoir cherché sur Google « comment tester le relais SMTP ». Vous souvenez-vous de vos résultats de recherche ? Ils traitent principalement des serveurs de messagerie, de la connexion SMTP et de l’utilisation de Telnet pour les tester. Nous avons systématisé tous les aspects que vous pourriez rechercher et fourni une réponse détaillée à votre demande. Commençons par les bases.

Quelle est la différence entre le relais SMTP et le serveur SMTP ?

Le relais SMTP est le processus de routage des emails vers le serveur SMTP de destination approprié. Il ne s’agit pas d’un logiciel ni d’une application, contrairement aux agents de transfert de courrier qui participent au flux de livraison des e-mails. Le relais se produit entre le MSA et le MDA si l’expéditeur et le destinataire proviennent de domaines différents (traités par des serveurs SMTP différents). Si l’email est transféré au sein du même domaine sans qu’aucun serveur supplémentaire ne soit impliqué, cela ne compte pas comme un relais d’email.

Certains d’entre vous connaissent probablement ce terme grâce à notre article de blog sur le relais SMTP. Pour ceux qui n’ont pas eu l’occasion de le consulter, nous allons fournir une brève explication à l’aide de l’infographie suivante:

NB : Si vous avez besoin de frotter vos connaissances sur la différence entre IMAP vs. POP3 vs. SMTP, consultez notre article de blog dédié.

En pratique, le terme relais SMTP fait souvent référence au serveur relais SMTP, également appelé agent de transfert de courrier (MTA). Un MTA est un serveur SMTP qui permet le relais. Habituellement, ils sont mis en place par des services de relais SMTP comme Sendinblue ou Mailgun pour l’envoi d’emails en masse et d’emails transactionnels. Ainsi, lorsque vous avez besoin de tester le relais SMTP, vous devez tester le serveur SMTP réel qui relaie les e-mails. Dans ce cas, le relais SMTP et le serveur SMTP peuvent être considérés comme des synonymes, et Google les traite donc comme des termes interdépendants.

Qu’est-ce que le test de relais ouvert ?

En plus de vérifier la connexion SMTP, vous devez également vérifier si votre serveur est un relais ouvert. En quoi cela consiste-t-il ? Le serveur SMTP doit disposer d’un mécanisme d’authentification qui permet de relayer les e-mails vers un autre serveur. En règle générale, si le serveur demande des informations d’identification (nom d’utilisateur et mot de passe) pour effectuer le relais, il ne s’agit PAS d’un serveur à relais ouvert. Un relais ouvert rend votre serveur accessible à des utilisateurs non autorisés. Les spammeurs pourront envoyer des courriels non sollicités à partir de ce serveur. Une telle activité malveillante nuit à la réputation de votre adresse IP, qui est cruciale pour une bonne délivrabilité des e-mails. Votre serveur de relais ouvert peut être inscrit sur une liste noire et de nombreux serveurs SMTP n’accepteront pas les courriels provenant de ce serveur.

Alors, comment faire le test du relais ouvert ? Vous pouvez vous connecter par telnet au serveur et envoyer un courriel à un autre domaine en utilisant les commandes MAIL FROM et RCPT TO. Si le code de réponse final est 250 et qu’aucune authentification n’a été demandée, votre serveur est un relais ouvert.

Des tests alternatifs plus faciles peuvent être effectués avec les outils en ligne suivants :

  • CheckOR.com
  • Test de relais anonyme
  • Test de relais ouvert de Spam Help
  • et bien d’autres

Puis-je tester le relais SMTP avec telnet uniquement ?

Telnet est le moyen le plus courant de vérifier si le serveur de messagerie permet le relais d’un domaine particulier. Nous avons blogué sur son utilisation dans Comment tester un serveur SMTP. Dans la plupart des cas, l’utilisation de Telnet sur votre serveur SMTP sera suffisante pour diagnostiquer les problèmes de connexion de base. Néanmoins, Telnet présente des inconvénients spécifiques :

  • pas de cryptage – vous devez construire des chaînes d’authentification manuellement à l’aide d’un outil MIME
  • fréquente déconnexion du serveur
  • pas de macros avec les commandes SMTP intégrées
  • limitations liées à la connexion SSL et TLS

Avec cela en tête, nous avons décidé de mettre Telnet de côté et de présenter d’autres moyens de dépanner le relais SMTP.

Rejoignez notre newsletterSeulement le meilleur contenu, livré une fois par mois. Désabonnez-vous à tout moment.

Tester la connexion au serveur relais SMTP avec des outils installables

smtp-cli

C’est un client de ligne de commande SMTP. smtp-cli prend en charge STARTTLS, SMTP-AUTH, et de nombreuses autres fonctionnalités avancées. En outre, vous pouvez utiliser cet outil puissant pour tester et déboguer les serveurs SMTP. C’est une bonne alternative à telnet car smtp-cli vous permet de vérifier les paramètres de cryptage du serveur TLS avec une authentification ultérieure de l’utilisateur. Faire cela avec telnet serait peu pratique.

Installation

Vous pouvez télécharger la dernière version de smtp-cli depuis la page des versions de GitHub. Alternativement, vous pouvez utiliser un utilitaire de téléchargement comme widget et l’installer avec une commande appropriée :

$ wget -o smtp-cli https://github.com/mludvig/smtp-cli/releases/{LATEST_RELEASE}$ chmod +x smtp-cli

Comme certaines fonctionnalités de smtp-cli sont optionnelles, vérifiez les modules Perl requis et installez-les. Les dépendances sont spécifiées sur la page GitHub de l’outil. Par exemple, les utilisateurs d’Ubuntu doivent installer les paquets suivants:

$ sudo apt install libio-socket-ssl-perl libdigest-hmac-perl libterm-readkey-perl libmime-lite-perl libfile-libmagic-perl libio-socket-inet6-perl

Test du relais SMTP

Vérifions le fonctionnement de smtp-cli. Tout d’abord, nous allons tester le localhost. Nous allons nous connecter au serveur et observer le va-et-vient SMTP de base.

$ ./smtp-cli --verbose --server localhost 'localhost ESMTP Postfix'> EHLO localhost 'localhost' 'PIPELINING' 'SIZE 20480000' 'ETRN' '8BITMIME'> QUIT 'Bye'

Maintenant, nous allons tester le relais. Nous allons essayer d’envoyer un email via le serveur qui nécessite une authentification. Voilà à quoi ressemblera la session SMTP :

$ ./smtp-cli --verbose --host smtp.example.com:587 --enable-auth --user test--from [email protected] --to [email protected] --data message.txt 'smtp.example.com ESMTP Postfix'> EHLO localhost 'smtp.example.com' 'PIPELINING' 'SIZE 10240000' 'VRFY' 'ETRN' 'AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5' 'AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5' 'XVERP' '8BITMIME'AUTH method (PLAIN LOGIN DIGEST-MD5 CRAM-MD5): using CRAM-MD5> AUTH CRAM-MD5 'PDE0OTQyOTcxOC4yNjAwOTYwQHNlcnZlci5kb21haW4udG9wPg=='> dGVzdCBmOTUyY2RkM2VlODBiMzk1YjYxNDI4NjBlYzg2Y2ExZnJvb3Q= 'Authentication successful'Authentication of test@localhost succeeded> MAIL FROM: <[email protected]> 'Ok'> RCPT TO: <[email protected]> 'Ok'> DATA 'End data with <CR><LF>.<CR><LF>' 'Ok: queued as'> QUIT 'Bye'

Outil de diagnostic de connexion au serveur SMTP

Voici une autre alternative telnet qui vous permet de faire la vérification du relais SMTP facilement. Il s’agit d’un outil de diagnostic de connexion au serveur SMTP construit par SocketLabs. Il dispose d’une authentification intégrée, prend en charge les connexions ouvertes et SSL, et est plus sécurisé que telnet. De plus, vous n’avez pas à taper manuellement toutes les commandes nécessaires pour tester le relais. L’outil dispose d’une bibliothèque de macros, ce qui facilite le flux de test.

Installation

Dans ce cas, vous n’avez pas besoin d’installer l’outil. Il vous suffit de le télécharger et de l’exécuter. Voici comment cela se présente :

Test de relais SMTP

  • Étape 1 : se connecter au serveur

Sélectionnez Actions dans le coin gauche de l’outil et cliquez sur Connecter. Saisissez les informations de votre serveur SMTP : nom du serveur et port. Conservez l’option LocalIp par défaut. Cliquez sur Connecter.

  • Étape 2 : tester le relais

Utiliser les macros de commande intégrées pour envoyer un courriel à partir de votre serveur SMTP. En fait, le flux est le même qu’avec telnet. La différence est que vous n’avez pas à tout faire manuellement.

swaks

C’est le testeur de transactions SMTP à tout faire, abrégé de Swiss Army Knife SMTP. swaks est un outil en ligne de commande écrit en Perl pour tester les configurations SMTP. C’est un véritable dinosaure – la première version date de 2003. Néanmoins, il a été mis à jour de nombreuses fois et gère maintenant de nombreuses fonctionnalités et extensions SMTP comme TLS, l’authentification, le pipelining, et bien d’autres. Si itérer telnet smtp.example.com 25 prend trop de temps, swaks est certainement ce dont vous avez besoin.

Installation

Exécutez ce qui suit pour installer swaks sur Ubuntu :

apt-get install swaks

sur macOS

brew install swaks

Test de relais SMTP

Disons que vous avez un serveur SMTP smtp.example.com qui permet le relais pour les utilisateurs authentifiés. Vous pouvez tester cela comme suit:

swaks --to [email protected] \ [email protected] \ --auth \ --auth-user=john \ --auth-password=hell-no \ --server smtp.example.com

Voici à quoi ressemblera la conversation:

 smtp.example.com Hi remote.server.name PIPELINING AUTH PLAIN CRAM-MD5> AUTH CRAM-MD5 PGQ4ZcakejQ5ZDcheeseiQHNreC54ZW4taG9zpiesZy5uZXQ+> c3RldsubliminalZmZDMxZmVkNmJjswimM2M4M2VkM2IsmileMDg= Authentication successful for john - Authenticated john; relaying permitted> MAIL FROM:<[email protected]> <[email protected]>, sender OK - how exciting to get mail from you!> RCPT TO:<[email protected]> <[email protected]>, recipient ok> DATA go ahead> Date: Sun, 05 Apr 2019 21:24:34 +0100> To: [email protected]> From: [email protected]> Subject: Test email > X-Mailer: swaks v20181104.0 jetmore.org/john/code/#swaks>> This is a test mailing> . Queued!> QUIT closing connection=== Connection closed with remote host.

Outils Web pour tester le relais SMTP

Les tests deviennent beaucoup plus faciles avec les outils Web. Pour la plupart d’entre eux, il vous suffit d’entrer votre serveur SMTP et de cliquer sur le bouton pour que les choses se fassent. En outre, certains d’entre eux vous permettent de tester le serveur pour le relais ouvert ! Voici les options les plus intéressantes.

Mail Server Testing Tool by DNS EXIT

DNS EXIT fournit une suite de services DNS statiques/dynamiques et d’autres solutions liées à la messagerie. Avec leur Mail Server Testing Tool, vous pouvez vous connecter par telnet à votre serveur SMTP et essayer de délivrer le message. S’il y a des défauts de configuration, l’outil vous le fera savoir et vous donnera une indication sur la façon de corriger l’erreur.

Vérificateur de serveur SMTP par DNSQueries

Cet outil est utile pour vérifier l’état de santé du serveur SMTP. Aussi, il vous permettra de savoir si tout fonctionne correctement et si le serveur n’est pas un relais ouvert. Saisissez le nom d’hôte de votre serveur SMTP et cliquez sur Exécuter l’outil. Il essaiera de se connecter au serveur et d’envoyer des e-mails par son intermédiaire. Nous avons pris le serveur SMTP de Gmail et l’avons vérifié avec le testeur DNSQueries. Voici comment s’affichent les résultats :

MX toolbox

L’outil de diagnostic SMTP de MXToolbox fonctionne de manière similaire. Il suffit d’entrer le nom de votre serveur SMTP et de cliquer sur Test Email Server. Voici un exemple du résultat du test :

Il affiche également la transcription de la session ci-dessous.

C’est un outil intégré qui teste l’enregistrement MX, le DNS, la liste noire et le SMTP en une seule fois. Si vous voulez effectuer un test ou une recherche particulière, utilisez une commande spéciale, par exemple « blacklist : smtp.example.com ».

SMTPer

« La simplicité est la sophistication ultime » – cette citation de Léonard de Vinci brille en haut de la page d’accueil de SMTPer. Vous devez remplir plusieurs champs pour utiliser cet outil de test de relais SMTP :

  • Hôte SMTP
  • Port
  • Adresse électronique de l’expéditeur
  • Adresse électronique du destinataire

En option, vous pouvez sélectionner « Utiliser une connexion sécurisée » et « Utiliser l’authentification » (en ayant précisé Login et Password). SMTPer est un outil simple, mais il peut faire le travail.

Est-ce que Mailtrap est un outil de test de relais SMTP ?

Mailtrap peut faire beaucoup de choses pour le test des emails :

  • envoyer des emails de test sans atteindre les vraies boîtes de réception
  • détecter si vos emails sont des spams
  • tester le HTML pour qu’il soit pris en charge par les clients de messagerie de base
  • organiser les emails de test dans des boîtes de réception spéciales
  • exécuter des tests d’intégration ou de chargement d’emails via l’API
  • tester le Bcc dans vos emails

Mais les tests de relais SMTP ne sont pas le cas. Sous Mailtrap se trouve un faux serveur SMTP. Vous pouvez l’utiliser à la place d’un vrai serveur pour tester la capacité d’envoi d’emails de votre entreprise. Cela vous évitera de spammer des clients réels avec des e-mails de test. Pour en savoir plus sur la façon dont vous pouvez bénéficier de Mailtrap, lisez le Guide de démarrage.

Si vous avez apprécié cet article, merci de le partager et de le faire connaître. Nous l’apprécierons vraiment.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *