On est souvent confronté à des problèmes de messagerie et pour diagnostiquer d’où cela vient, il peut être utile de ne pas utiliser les clients de mail comme thunderbird, ou outlook express.
Ces outils très performants ne permettent pas de voir à quel moment arrive le problème. Il faut donc utiliser la commnande telnet pour voir comment cela se passe au niveau du système directement.
Mais pour utiliser telnet et envoyer un mail, il y a une syntaxe à connaitre. J’ai retranscrit ici un article de Philippe Namias qui va nous être très utile.
SMTP
SMTP signifie Simple Mail Transfert Protocol. SMTP est le protocol qui permet la transmission d’e-mail (RFC 821).
Pour ce connecter sur le service SMTP, il suffit de faire un telnet sur le port 25 d’une machine. Noter tout de même que la plupart des SMTP log vos interventions donc vous &tcirc;es prévenus.
Exemple :
#telnet smtp.nunux.fr 25.
Commandes SMTP :
HELO Identité SMTP
MAIL FROM: adresse de la personne envoyant l'e-mail Adresse de l'expéditeur
MAIL TO: envoyé à Adresse du destinataire
DATA Donné de l'e-mail
VRFY nom utilisateur Vérifie que l'utilisateur existe sur le serveur
EXPN nom d'une liste de diffusion indique le nom des personnes appartenant à la liste de diffusion RSET Annule l'envoie d'e-mail
HELP Affiche l'aide en ligne
QUIT Clôture la session SMTP
Exemple de session SMTP :
#telnet smtp.nunux.fr 25
Trying 10.0.0.27 ...
Connected to smtp.nunux.fr
Escape character is ' ]'
220 smtp SMTP Sendmail 8.8; Wed, 12 Jan 2000 23)):)) +0300 (MET)
HELO
250 smtp Hello smtp.nunux.fr, pleased to meet you
MAIL FROM:tux@nunux.fr
250 tux@linux.fr... sender OK
RCPT TO:windows@nunux.fr
250 windows@nunux.fr... recipient OK
DATA
290 Enter mail, end with ``.'' on a line by itself
I LOVE YOU
.
300 Mail accepted
VRFY tux
310 tux@nunux.fr
EXPN tuxlover
320linus.torvald@nunux.fr
321alan.cox@nunux.fr
QUIT
330 SMTP delivering mail
Connection closed by foreign host.
POP
POP signifie Post Office Control. C’est le protocole qui permet de recevoir des e-mail. Il existe deux versions de POP, POP2 (RFC 937) définit sur le port 109 et POP 3 (RFC 1725) définit sur le port 110.
Pour se connecter sur un service , il suffit de taper à la ligne de commande :
Pour POP 3
#telnet pop.nunux.fr 110
Pour POP 2
#telnet pop.nunuxold.fr 109
Commandes POP2 (certes c’est vieux mais ça peut toujours aider):
HELO login password authentification
FOLDER fichier destination Choix du fichier de destination des messages
READ n Lire le message n
RETR n Récupération du message n
ACKS Acquittement et sauvegarde
ACKD Acquittement et destruction
NACK Acquittement négatif
QUIT Cloture la session POP2
Commandes POP3 (port 110 ) :
USER login
PASS password
STAT donne la taille et le nombre de message non lus
RETR n Récupère le message n
DELE n supprime le message n (cette commande est utile pour purger certains messages coincés dans une boite au lettre).
LAST Donne le numéro du dernier message accédé.
LIST n Taille du message n ou de tous les messages s'il n'y a pas d'argument.
RSET Annule suppression de message
TOP n Affiche l'en tête du message n
NOOP Ne rien faire
QUIT Clôture la session POP3
Exemple de session POP 3:
#telnet pop.nunux.fr 110
Trying 10.0.0.28 ...
Connected to pop.nunux.fr.
Escape character is ' ]'.
+OK pop POP3 Server Process 4.0 at Wed 20-Jan-99 2:21PM-EDT
user tux
+OK User name (tux) ok. Password, please.
pass kernel-2.2-15
+OK 21 messages in folder NEWMAIL
stat
+OK 21 1567
retr 1
+OK 5 octets
contenu du message 1
dele 1
+OK message # 1 deleted
quit
+OK POP3 pop Server exiting
Connection closed by foreign host.
Diagnostic
Le fait d’arriver à voir la bannière du serveur ( ligne avec son nom et « service ready » ), permet d’être sûr que le service en question fonctionne et qu’aucun problème réseau ou parefeu ne bloque le passage.
Quand on saisit les commandes, on voit directement les éventuels messages d’erreur du serveur. Par exemple, une erreur de mot de passe ou de compte utilisateur, une boite aux lettres saturée, etc…
Si vous avez accès aux logs du serveur de mail, en tant qu’administrateur; comme /var/log/maillog ou /var/log/mail.log selon si vous avez une Redhat ou une Debian; cela vous permet d’aller encore plus loin dans le diagnostic. Si c’est un serveur chez un hébergeur, vous pourrez le contacter avec le maximum d’informations pour aider à trouver la panne.