Utilisation de Telnet pour tester la communication SMTP

 

S’applique à : Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Dernière rubrique modifiée : 2006-11-14

Cette rubrique décrit comment utiliser Telnet pour tester la communication SMTP (Simple Mail Transfer Protocol) entre deux serveurs de messagerie. Par défaut, SMTP écoute sur le port 25. Si vous utilisez Telnet sur le port 25, vous pouvez entrer les commandes SMTP utilisées pour la connexion à un serveur SMTP et envoyer un message comme si votre session Telnet se trouvait sur un serveur de messagerie SMTP. Vous pouvez voir si chaque étape réussit ou échoue au cours du processus de connexion et de dépôt de message.

La liste suivante décrit les scénarios dans lesquels vous pouvez utiliser Telnet pour tester la communication SMTP depuis ou vers les serveurs de transport existant dans votre organisation Microsoft Exchange Server :

  • Connectez-vous au serveur de transport Edge de votre organisation à partir d'un hôte situé en dehors de votre réseau de périmètre et envoyez un message de test.

  • Connectez-vous à un serveur de messagerie distant depuis le serveur de transport Edge de votre organisation et envoyez un message de test.

Avant de commencer

Par défaut, les transferts de messages entre les serveurs de transport Hub sont chiffrés et authentifiés. Vous pouvez uniquement utiliser Telnet sur le port 25 pour déposer des messages sur un serveur de transport Hub interne doté d'un connecteur de réception configuré pour autoriser l'accès anonyme ou l'authentification de base pour la réception de messages. L'accès anonyme est requis pour les serveurs Internet. Lorsque vous envoyez un message à un connecteur de réception acceptant l'authentification de base, vous devez disposer d'un utilitaire pour convertir les chaînes de texte utilisées pour le nom d'utilisateur et le mot de passe au format Base64. En cas d'utilisation de l'authentification de base, il est facile de discerner le nom d'utilisateur et le mot de passe. Aussi, une authentification de base sans chiffrement est déconseillée.

Les serveurs de messagerie SMTP Internet de nombreuses organisations sont configurés pour valider l'adresse IP source, le DNS (Domain Name System) correspondant et l'adresse IP de la recherche inversée d'un hôte Internet essayant d'envoyer un message au serveur. Si vous connectez un ordinateur de test à Internet et tentez d'envoyer un message de test à un serveur de messagerie distant à l'aide de Telnet sur le port 25, il se peut que votre message soit rejeté. Pour satisfaire aux exigences de sécurité pouvant être imposées par le serveur de messagerie distant, vous pouvez vous connecter à celui-ci depuis votre serveur de transport Edge. Les domaines acceptés configurés sur le serveur de transport Edge disposent des enregistrements de serveur de messagerie (MX) DNS, des enregistrements d'adresse (A) et des enregistrements de recherche inversée appropriés qui identifient le serveur de transport Edge comme une source de messages électroniques légitime et connue pour ces domaines acceptés sur Internet.

Les procédures de cette rubrique décrivent l'utilisation du client Microsoft Telnet inclus dans Microsoft Windows Server 2003 et Windows XP. Les versions précédentes de Windows ou les clients Telnet tiers peuvent requérir une syntaxe différente. Les commandes du client Windows Telnet ne tiennent pas compte de la casse. Les verbes de la commande SMTP sont écrits en majuscules par souci de clarté.

Vous ne pouvez pas utiliser la touche Retour arrière après vous être connecté au serveur SMTP de destination dans la session Telnet. En cas d'erreur lors de la saisie d'une commande SMTP, vous devez appuyer sur ENTRÉE puis taper la commande à nouveau. Les commandes SMTP inconnues ou les erreurs de syntaxe entraînent l'affichage d'un message d'erreur similaire à ce qui suit :

500 5.3.3 Unrecognized command

Utilisation de l'outil de ligne de commande Nslookup pour rechercher l'adresse IP d'un serveur SMTP

Pour vous connecter à un serveur SMTP de destination via Telnet sur le port 25, vous devez connaître le nom de domaine complet (FQDN) ou l'adresse IP du serveur SMTP. La manière la plus simple d'obtenir ces informations est d'utiliser l'outil de ligne de commande Nslookup pour rechercher l'enregistrement MX du domaine de destination.

Utilisation de l'outil Nslookup pour trouver l'adresse IP d'un serveur SMTP

  1. À l'invite de commandes, tapez nslookup, puis appuyez sur ENTRÉE. Cette commande ouvre une session Nslookup.

  2. Tapez set type=mx, puis appuyez sur ENTRÉE.

  3. Tapez set timeout=20, puis appuyez sur ENTRÉE. Par défaut, le délai d'expiration de la requête DNS récursive pour les serveurs DNS Windows est 15 secondes.

  4. Tapez le nom du domaine pour lequel vous voulez rechercher l'enregistrement MX. Par exemple, pour rechercher l'enregistrement MX du domaine fabrikam.com, tapez fabrikam.com., puis appuyez sur ENTRÉE.

    Notes

    Le point final ( . ) indique un nom de domaine complet. L'utilisation du point final empêche les suffixes DNS par défaut configurés sur votre réseau d'être ajoutés de façon involontaire au nom de domaine.

    Les données en sortie de la commande sont similaires à ce qui suit :

    fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com
    fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com
    mail1.fabrikam.com internet address = 192.168.1.10
    mail2 fabrikam.com internet address = 192.168.1.20
    

    Vous pouvez utiliser les noms d'hôte ou adresses IP associés aux enregistrements MX comme serveur SMTP de destination. Une valeur préférée inférieure indique un serveur SMTP préféré. Vous pouvez utiliser plusieurs enregistrements MX et des valeurs préférées différentes pour l'équilibrage de charge et la tolérance de pannes.

  5. Lorsque vous êtes prêt à fermer la session Nslookup, tapez exit, puis appuyez sur ENTRÉE.

noteRemarque :
Les restrictions de pare-feu et de proxy Internet imposées sur le réseau interne de votre organisation peuvent vous empêcher d'utiliser l'outil Nslookup pour interroger les serveurs DNS publics sur Internet.
Les enregistrements MX ne sont pas strictement requis pour le flux de messages interne dans une organisation Exchange. Si vous devez rechercher le nom de domaine complet d'un serveur de transport Hub ou d'un serveur de transport Edge abonné dans votre organisation, vous pouvez utiliser la commande suivante dans l'environnement de ligne de commande Exchange Management Shell : Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole
Pour plus d'informations, consultez les rubriques Get-ExchangeServer et Traitement en pipeline.

Utilisation de Telnet sur le port 25 pour tester la communication SMTP

La procédure de cette section décrit l'utilisation de Telnet sur le port 25 pour tester la communication SMTP. La procédure utilise les valeurs décrites dans la liste suivante :

  • Serveur SMTP de destination   mail1.fabrikam.com

  • Domaine source   contoso.com

  • Adresse de messagerie de l'expéditeur   chris@contoso.com

  • Adresse de messagerie du destinataire   kate@fabrikam.com

  • Objet du message   Test depuis Contoso

  • Corps du message   Ceci est un message de test

Notes

Vous devez toujours utiliser une adresse de messagerie d'expéditeur valide de sorte que les messages de notification d'échec de remise générés par le serveur SMTP de destination sont remis à l'expéditeur du message.

Utilisation de Telnet sur le port 25 pour tester la communication SMTP

  1. À l'invite de commandes, tapez telnet, puis appuyez sur ENTRÉE. Cette commande ouvre la session Telnet.

  2. Tapez set localecho, puis appuyez sur ENTRÉE. Cette commande facultative permet d'afficher les caractères à mesure que vous les tapez. Cette configuration peut être requise pour certains serveurs SMTP.

  3. Tapez set logfile <nom_de_fichier>. Cette commande facultative permet d'ouvrir la session Telnet sur le fichier journal spécifié. Si vous ne spécifiez qu'un nom de fichier, l'emplacement du fichier journal correspond au répertoire de travail actuel. Si vous spécifiez un chemin d'accès et un nom de fichier, le chemin d'accès doit être local sur l'ordinateur. Le chemin d'accès et le nom de fichier spécifiés doivent être entrés au format Microsoft DOS 8.3. Le chemin d'accès spécifié doit déjà exister. Si vous spécifiez un fichier journal inexistant, il sera créé pour vous.

  4. Tapez open mail1.fabrikam.com 25, puis appuyez sur ENTRÉE.

  5. Tapez EHLO contoso.com, puis appuyez sur ENTRÉE.

  6. Tapez MAIL FROM:chris@contoso.com, puis appuyez sur ENTRÉE.

  7. Tapez RCPT TO:kate@fabrikam.com NOTIFY=success,failure, puis appuyez sur ENTRÉE. La commande facultative NOTIFY définit les messages de notification d'état de remise particuliers que le serveur SMTP de destination doit fournir à l'expéditeur. Les messages de notification d'état de remise sont définis dans RFC 1891. Dans ce cas, vous exigez un message de notification d'état de remise indiquant le succès ou l'échec de la remise du message.

  8. Tapez DATA, puis appuyez sur ENTRÉE. Vous recevez une réponse similaire à ce qui suit :

    354 Start mail input; end with <CLRF>.<CLRF>
    
  9. Tapez Subject: Test depuis Contoso, puis appuyez sur ENTRÉE.

  10. Appuyez sur ENTRÉE. RFC 2822 requiert une ligne vide entre le champ d'en-tête Subject: et le corps du message.

  11. Tapez Ceci est un message de test, puis appuyez sur ENTRÉE.

  12. Appuyez sur ENTRÉE, tapez un point ( . ), puis appuyez sur ENTRÉE. Vous recevez une réponse similaire à ce qui suit :

    250 2.6.0 <GUID> Queued mail for delivery
    
  13. Pour vous déconnecter du serveur SMTP de destination, tapez QUIT, puis appuyez sur ENTRÉE. Vous recevez une réponse similaire à ce qui suit :

    221 2.0.0 Service closing transmission channel
    
  14. Pour fermer la session Telnet, tapez quit, puis appuyez sur ENTRÉE.

Interprétation des résultats d'une session Telnet avec un serveur SMTP

Cette section fournit des informations détaillées sur les réponses qui peuvent être générées pour les commandes entrées dans l'exemple précédent.

Notes

Les codes de réponse SMTP à 3 chiffres définis dans RFC 2821 sont les mêmes pour tous les serveurs de messagerie SMTP. Ces descriptions peuvent légèrement varier pour certains serveurs de messagerie SMTP. Dans cet exemple, l'ordinateur de destination exécute Exchange Server 2007.

Open mail1.fabrikam.com 25

Réponse en cas de succès   220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>

Réponse en cas d'échec   Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed

Raisons possibles de l'échec

  • Le service SMTP de destination est indisponible.

  • Il existe des restrictions sur le pare-feu de destination.

  • Il existe des restrictions sur le pare-feu source.

  • Un nom de domaine complet incorrect ou une adresse IP incorrecte ont été spécifiés pour le serveur SMTP de destination.

  • Un numéro de port incorrect a été spécifié.

EHLO contoso.com

Réponse en cas de succès   250 mail1.fabrikam.com Hello [<sourceIPaddress>]

?Réponse en cas d'échec   501 5.5.4 Invalid domain name

Raisons possibles de l'échec   Le nom de domaine comporte des caractères non valides. Il peut aussi y avoir des restrictions de connexion sur le serveur SMTP de destination.

Notes

EHLO est le verbe ESMTP (Extended Simple Message Transfer Protocol) défini dans RFC 2821. Les serveurs ESMTP peuvent annoncer leurs capacités lors de la connexion initiale. Ces capacités incluent la taille de message acceptée maximale, ainsi que leurs méthodes d'authentification prises en charge. HELO est l'ancien verbe SMTP défini dans RFC 821. La plupart des serveurs de messagerie SMTP prennent en charge ESMTP et EHLO.

MAIL FROM:chris@contoso.com

Réponse en cas de succès   250 2.1.0 Sender OK

Réponse en cas d'échec   550 5.1.7 Invalid address

Raisons possibles de l'échec   L'adresse de messagerie de l'expéditeur comporte une erreur de syntaxe.

?Réponse en cas d'échec   530 5.7.1 Client was not authenticated

Raisons possibles de l'échec   Le serveur de destination n'accepte pas les dépôts de message anonymes. Vous recevez cette erreur si vous tentez d'utiliser Telnet pour déposer un message directement sur un serveur de transport Hub.

RCPT TO:kate@fabrikam.com NOTIFY=success,failure

Réponse en cas de succès   250 2.1.5 Recipient OK

?Réponse en cas d'échec   550 5.1.1 User unknown

Raisons possibles de l'échec   Le destinataire spécifié n'existe pas dans l'organisation.

Pour plus d'informations

Pour plus d'informations, consultez les rubriques suivantes :