Test de la réception de courrier - Debian 8.0 Jessie
Rédigé par Marc GUILLAUME | Aucun commentaireTraduction de la page https://workaround.org/ispmail/jessie/testing-email-delivery
Jusque là vous avez passé un temps considérable à apprendre de la théorie et faire de la configuration. Mais êtes-vous ennuyé de ce que tout ce travail conduise à un serveur de courrier fonctionnel ? Avant d'aborder les dernières étapes faisons une pause pour vérifier si tout ce que nous avons fait fonctionne jusque là.
Pour l'instant le répertoire /var/vmail devrait être vide ou peut-être contenir un répertoire « example.org » si vous avez joué auparavent avec le compte john@example.org. Vous pouvez avoir la liste de son contenu en lançant la commande :
find /var/vmail
Il n'y a peut-être rien, à part éventuellement un répertoire « lost+found » si /var/vmail est sur sa propre partition. Et peut-être des fichiers ajoutés par le squelette comme .profile ou .bashrc.
Si vous avez ajouté le jeu d'essai dans la base de données lors de la préparation de la base comme je vous l'avais proposé vous avez example.org configuré comme domaine de mail virtuel et l'utilisateur john@example.org dans ce domaine.
Envoyez un email d'essai
Ouvrez une fenêtre de terminal et lancez la commande :
tail -f /var/log/mail.log
pour voir ce que fait le serveur de mail. Maintenant depuis une autre fenêtre de terminal envoyons un mail à John. Une façon simple d'envoyer un mail est d'envoyer un texte à la commande mail via un pipe :
echo test | mail john@example.org
Si tout se passe bien votre fichier de log devrait afficher tout un tas d'informations techniques concernant la distribution du mail. Quelque chose comme ça :
Nov 8 22:29:40 jessie postfix/pickup[26781]: D663322AF9: uid=0 from=<root> Nov 8 22:29:40 jessie postfix/cleanup[26854]: D663322AF9: message-id=<20151108222940.D663322AF9@debian-jessie.vagrantup.com> Nov 8 22:29:40 jessie postfix/qmgr[21866]: D663322AF9: from=<root@debian-jessie.vagrantup.com>, size=313, nrcpt=1 (queue active) Nov 8 22:29:40 jessie dovecot: lmtp(26859): Connect from local Nov 8 22:29:40 jessie dovecot: lmtp(26859, john@example.org): 4xrmNdTMP1braAAACYsm4Q: sieve: msgid=<20151108222940.D663322AF9@debian-jessie.vagrantup.com>: stored mail into mailbox 'INBOX' Nov 8 22:29:40 jessie postfix/lmtp[26858]: D663322AF9: to=<john@example.org>, relay=debian-jessie.vagrantup.com[private/dovecot-lmt, delay=0.06, delays=0.02/0/0.01/0.02, dsn=2.0.0, status=sent (250 2.0.0 <john@example.org> 4xrmNdTMP1braAAACYsm4Q Saved) Nov 8 22:29:40 jessie dovecot: lmtp(26859): Disconnect from local: Successful quit Nov 8 22:29:40 jessie postfix/qmgr[21866]: D663322AF9: removed
La sortie dans votre fichier sera légèrement différente. Mais faites surtout attention aux informations qui sont en caractères gras. Elles devraient être exactement les mêmes dans votre fichier de log. Si tout a fonctionné comme prévu Postfix a accepté le mail et l'a transmis à Dovecot qui a son tour l'a écrit dans le répertoire du courrier de John. Si vous avez des messages d'erreur dans les logs alors essayez de comprendre le sens du message d'erreur et de trouver la cause du problème avant de continuer.
Regardez de nouveau le répertoire :
find /var/vmail
Dovecot a maintenant créé une arborescence pour John et créé plusieurs répertoires et fichiers supplémentaires :
/var/vmail/ /var/vmail/example.org /var/vmail/example.org/john /var/vmail/example.org/john/Maildir /var/vmail/example.org/john/Maildir/dovecot-uidvalidity /var/vmail/example.org/john/Maildir/dovecot.index.cache /var/vmail/example.org/john/Maildir/tmp /var/vmail/example.org/john/Maildir/dovecot.index.log /var/vmail/example.org/john/Maildir/cur /var/vmail/example.org/john/Maildir/dovecot-uidvalidity.562762ef /var/vmail/example.org/john/Maildir/dovecot-uidlist /var/vmail/example.org/john/Maildir/new /var/vmail/example.org/john/Maildir/new/1445423017.M410998P32117.ispmail-jessie,S=376,W=386
Vos fichiers peuvent être en nombre légèrement différent. Tout va bien. La ligne en caractères gras représente le fichier de mail lui-même. C'est le seul fichier dans le répertoire new.
Accédez au mail en tant que fichier
Donc John a finalement reçu un nouvel email dans sa boîte (que j'ai fait ressortir en caractères gras). Ouvrez simplement ce fichier et regardez le, c'est juste un mail standard avec des entêtes et un corps de message. Sur mon système il contient :
Return-Path: <root@ispmail-jessie.pmd.local> Delivered-To: john@example.org Received: by ispmail-jessie.pmd.local (Postfix, from userid 0) id 54FF0260EB4; Wed, 21 Oct 2015 12:23:37 +0200 (CEST) To: john@example.org Message-Id: <20151021102337.54FF0260EB4@ispmail-jessie.pmd.local> Date: Wed, 21 Oct 2015 12:23:37 +0200 (CEST) From: root@ispmail-jessie.pmd.local (root) test
Si quelque chose n'a pas fonctionné, alors regardez soigneusement les dernières lignes de votre fichier /var/log/mail.log. Il y a toute probabilité qu'il vous indique le problème. Ou alors déposez un commentaire sur cette page et demandez à un autre lecteur de vous aider.
Accédez au mail sur le disque dur en utilisant mutt
Vous pouvez également utiliser un outil légèrement plus confortable pour accéder aux répertoires de courrier qui vous sera utile en tant qu'administrateur de serveur de mail : mutt.
mutt -f /var/vmail/example.org/john/Maildir
(Il peut vous être demandé de créer le répertoire /root/Mail. Il s'agit d'une procédure standard. Appuyez juste sur Entrée).
Ce que vous voyez maintenant est le contenu de la boîte mail de John :
Appuyez sur Entrée et vous pouvez lire le mail numéro 1 :
Voilà il s'agit de votre mail de test. Appuyez sur q pour quitter mutt.
C'est une façon simple d'accéder aux répertoires de mail sur le disque à la recheche de problèmes.
Accédez au mail via IMAP en utilisant mutt
En vérité nous avons un peu triché car nous avons atteint la boîte mail de John directement depuis le disque dur. Un meilleur test serait d'utiliser POP3 ou IMAP.
Par chance mutt sait utiliser IMAP :
mutt -f imap://john@example.org@localhost
Il se pourrait que vous voyez un message de confirmation vous avertissant que vous êtes connecté à un serveur qui n'a pas de certificat SSL de confiance. C'est normal si vous avez généré un certificat auto-signé. Finalement vous devriez voir l'index et le mail exactement comme sur les copies d'écran ci-dessus. (Le mot de passe est summersun vous vous souvenez ?). Ça a fonctionné ? Parfait. Dans le cas contraire vérifiez votre fichier /var/log/mail.log à la recherche de messages d'erreur.
Le paramètre passé après -f semble un peu bizarre n'est-ce-pas ? Laissez moi vous l'expliquer :
- imap://
- Le protocole. Vous pouvez également utiliser imaps, mais ici mutt bascule automatiquement sur imaps.
- john@example.org
- L'identifiant de connexion (puisque nous utilisons également l'adresse mail comme nom d'utilisateur).
- @
- Le séparateur entre le nom d'utilisateur et le nom du serveur de courrier.
- localhost
- Le serveur de courrier.
Accédez au courrier via IMAP en utilisant un client de mail classique
Il y a peu de chances que vos utilisateurs emploient mutt pour lire leur courrier (à moins que ce ne soit des accros de la console). Donc bien entendu vous pouvez utiliser un client de mail en mode graphique pour accéder à la boîte de John. Si vous utilisez Thunderbird (ou icedove si vous êtes sur Debian) vous pouvez configurer un nouveau compte mail utilisant IMAP et qui se connectera sur le serveur. Souvenez-vous que le nom d'utilisateur et l'adresse mail sont tous les deux « john@example.org » et que le mot de passe est « summersun ».
Accéder au mail via le webmail Roundcube
Et « last but not least » vous avez un moyen très facile d'accéder à la boîte mail de John en utilisant simplement votre navigateur. Après-tout vous avez installé Roundcube dans les précédents chapitres. Rendez vous sur https://YOUR.MAIL.SERVER/ et connectez vous en tant que « john@example.org » avec le mot de passe « summersun ». Ceci devrait vous amener à la boîte de réception :
POP3 comparé à IMAP
Si vous vous demandez quelles sont les différences entre POP3 and IMAP, les voici :
- POP3 (Post Office Protocol)
- C'est un protocole simple qui vous permet de récupérer des mails depuis une seule boîte à lettres. Il est en général utilisé pour rapatrier les mails, bien que vous puissiez également laisser une copie sur le serveur, mais c'est un peu du bricolage, et vous ne pouvez pas créer plusieurs répertoires sur le serveur pour classer vos mails. Il économise de la place sur le serveur de mail, parce que les mails sont déplacés sur le disque dur de l'ordinateur des utilisateurs. Mais ces derniers ne pourront accéder au même mail depuis un autre ordinateur. L'autre inconvénient, on l'a dit, est qu'il ne permet pas de créer de multiples répertoires sur le serveur pour classer les mails. Il existe juste inbox. Cette variante est un peu dépassée et pas vraiment agréable pour l'utilisateur.
- IMAP (Internet Messaging Application Protocol)
- Il est principalement axé sur la conservation des mails sur le serveur, mais vous pouvez également collecter le courrier comme avec POP3. Le dossier « inbox » est l'emplacement où sont copiés vos mails entrants, mais l'utilisateur peut également créer des dossiers et ventiler ses mails entre ces dossiers. IMAP est très utile si vous voulez accéder à vos mails depuis différents endroits sans perdre de mail parce que vous l'auriez rapatrié sur une autre machine. L'inconvénient est que les utilisateurs paresseux laissent leurs mails sur le serveur, ces derniers finissant par remplir le disque dur du serveur (à moins que vous n'utilisiez des quotas).