Émulation d'une session SMTP en utilisant Telnet - Debian 5.0 Lenny
Rédigé par Marc GUILLAUME | Aucun commentairePremier test du serveur via Telnet.
Essayons maintenant d'envoyer un mail à un utilisateur. Comme le domaine "example.com" n'existe pas réellement (ou ne vous appartient pas) vos enregistrements DNS ne doivent pas pointer sur le bon serveur, c'est pourquoi nous devons émuler une session SMTP à l'aide de la commande telnet. Installez le paquet telnet si ce n'est pas déjà fait :
$> aptitude install telnet
Ensuite établissez une connexion TCP sur le port SMTP :
$> telnet localhost smtp
Le serveur devrait répondre :
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailtest ESMTP Postfix (Debian/GNU)
Parfait, Postfix écoute et veut que vous parliez SMTP. Commençons par être polis :
ehlo example.com
Postfix apprécie notre amabilité et nous dit quelles fonctionnalités il offre :
250-my-new-mailserver 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN
Eh, Postfix, nous avons un mail de steve@example.com :
mail from:<steve@example.com>
Il semble que cela plaise à Postfix car il retourne un code commençant par un '2' ce qui est bon signe :
250 2.1.0 Ok
Dites à Postfix qui est le destinataire du mail :
rcpt to:<john@example.com>
Postfix accepte :
250 2.1.5 Ok
Nous sommes prêt à envoyer le mail
data
Postfix accepte et nous dit que nous pouvons envoyer le mail maintenant et que nous devons terminer notre envoi par une ligne vide qui ne contient qu'un point :
354 End data with<CR><LF>.<CR><LF>
C'est bon, tapez le contenu du mail :
Hi John, just wanted to drop you a note. .
Postfix nous dit qu'il a reçu le mail et qu'il l'a mis en fille d'attente avec un numéro de distribution (ID) :
250 2.0.0 Ok: queued as A9D64379C4
Merci Postfix, nous avons fini :
quit
Vérification des logs
Maintenant jetez un oeil a /var/log/mail.log
. Vous devriez voir quelque chose de similaire à ça :
postfix/smtpd[..: connect from localhost[127.0.0.1] postfix/smtpd[..: 5FF712A6: client=localhost[127.0.0.1] postfix/cleanup[..: 5FF712A6: message-id=<...> postfix/qmgr[..: 5FF712A6: from=<steve@example.com>, size=364, nrcpt=1 (queue active) postfix/pipe[..: 5FF712A6: to=<john@example.com>, relay=dovecot, ..., status=sent (delivered via dovecot service) postfix/qmgr[..: 5FF712A6: removed postfix/smtpd[..: disconnect from localhost[127.0.0.1]
La distribution à fonctionné. Postfix a correctement déterminé que le domaine de destination est un domaine virtuel et a transmis le courrier au service Dovecot.
Vérification de la boîte de l'utilisateur
Le mail devrait se trouver maintenant quelque part sous /var/vmail/example.com/john
. Regardons :
$> cd /var/vmail/example.com/john/Maildir $> find . ./cur ./new ./new/1179521979.V801I2bbf7M15352.mailtest ./tmp
Le mail se trouve bien là. Essayez de lire le mail avec le programme "mutt" :
$> mutt -f .
Le nouveau mail est affiché :
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help 1 N May 18 steve@example.c (0.1K)
Appuyez sur ENTER pour le lire :
From: steve@example.com To: undisclosed-recipients: ; Hi John, just wanted to drop you a note.
Le mail est bien arrivé sur le compte de John. Parfait, tappez q deux fois pour quitter mutt.