Cette section décrit l'utilisation de POP et d'IMAP pour gérer le courrier distant.
Parmi les alternatives, on trouve le montage via NFS des zones de stockage du courrier sur les machines clientes (Danger Will Robinson ! Est-ce que tout le monde utilise la même méthode de verrouillage ?) ou bien l'utilisation d'une passerelle courrier-vers-web (une solution assez populaire de nos jours).
Sur les réseaux de stations de travail, le courrier a toujours été un problème :
Mais dans ce cas, comment les utilisateurs peuvent-ils lire leur courrier ?
En utilisant rsh avec elm ? :-)
Cela surchargerait notre centre de tri ! Une méthode serait de rediriger le courrier ou d'utiliser UUCP, SMTP, etc. mais c'est bien trop complexe.
Vinrent ensuite POP et IMAP, tout deux avec des problèmes de sécurité au début (qui sont maintenant réglés par l'utilisation ssh sur les dernières versions). Pour les utiliser, un agent de transport de courrier doit parfois être installé sur la machine de l'utilisateur (du style qmail, smail ou vmail si par exemple vous utilisez elm, l'utilisation de mozilla vous évitera cela), cependant cela simplifiera l'envoi et la réception de courrier.
Voici le principaux inconvénients de POP :
Le problème du mot de passe peut être résolu en utilisant POP au travers d'un canal chiffré ou en utilisant les extensions APOP ou RPOP. Le problème du lecteur de courrier peut être résolu soit en changeant de lecteur (ne sous-estimez pas l'effort qu'il faut déployer pour rééduquer les utilisateurs), soit en utilisant un programme qui rapatrie le courrier via POP (comme par exemple fetchmail) associé à un agent de distribution local.
IMAP peut être préférable à POP dans diverses situations comme par exemple si
vous permettez les accès distants (et spécialement pour des utilisateurs se
connectant de machines différentes). Vous
pouvez également utiliser POP en restreignant son accès à un réseau local
sur lequel le vol des mots de passe transitant par le réseau n'est pas à
craindre. Mark Aitchison
nous a signalé qu'une façon de faire cela était d'utiliser les fichiers
hosts.deny
et hosts.allow
et de lancer votre serveur POP à
partir d'inetd (reportez-vous pour de plus amples détails au « Net-3 HOWTO »).
Le choix de laisser (ou non) le courrier sur le serveur a des conséquences en termes d'espace disque, de facilité de mise en oeuvre des sauvegardes et de la sécurité, ainsi que sur la possibilité pour un utilisateur donné de se connecter depuis plusieurs machines distinctes. Ainsi la meilleure solution dépend de votre type d'organisation. Bien sûr, cela ne vous garantira pas que votre courrier ne puisse pas être lu, mais personne ne pourra l'effacer ; et si votre courrier est chiffré avec PGP, cela en fait une très bonne solution.
Voici quelques clients POP qui en valent la peine :
$ popclient -3 -v mail.acme.net -u jean -p "AssezSecret" -k -o JOHN-INET-MAIL
Ceci est fortement déconseillé sur les machines multi-utilisateurs. En effet,
les autres utilisateurs pourraient voir votre mot de passe en lançant par
exemple ps auxw
.
~.fetchmailrc
. Ainsi,
vous n'aurez qu'à lancer fetchmail quand vous voudrez rapatrier votre
courrier.
Voici mon .fetchmailrc :
poll mail.server protocol pop3:
forcecr
password AssezSecret;
L'option forcecr est requise pour utiliser fetchmail avec qmail qui
respecte strictement les RFC.Pour cela, vous devrez utiliser un programme gérant SMTP comme par exemple qmail, smail, vmail ou mozilla (ce dernier fait tout : lecture du courrier, rapatriement du courrier via POP et envoie du courrier via SMTP).
Reportez-vous à l'une des sections précédentes pour installer et configurer celui que vous préférez. Ensuite, quand vous atteindrez la section Tester, essayer d'envoyer un courrier électronique sur un compte local de votre passerelle de courrier.
Si votre programme ne fait pas tout lui-même, vous pouvez installer elm, pgp, mush, pine, etc. Beaucoup de bons programmes sont disponibles librement et gratuitement pour les plate-formes Linux.
Pour vérifier si votre serveur POP est bien installé tapez
$ telnet machine 110
Si cela marche, vous obtiendrez quelque chose du genre « OK Pop server (...) starting ». Tapez « quit » !
Pour installer un canal ssh chiffré, testez d'abord votre serveur de courrier en tapant
$ ssh machine date
Si vous obtenez la date, cela devrait être bon. Remarquez que ssh ne vous
demandera pas de mot de passe, en conséquence, vous devrez créer un fichier
.shosts
sur
le serveur de courrier, contenant le nom du client. Pour tester la redirection
de port ssh (que wgpop utilise), tapez
$ ssh -n -f -L 12314:localhost:110 machine sleep 30
puis
$ telnet localhost 12314
Alors vous aurez bon espoir de voir la bannière de la poste centrale
POP. Si vous n'utilisez pas ssh, n'oubliez pas de commenter
$ssh
dans le script gwpop. Pour vérifier si procmail tourne essayez
procmail~-v
.
Maintenant vous pouvez éditer le script Perl gwpop pour vérifier que tout va bien, puis lancez gwpop :
$ gwpop -v votre-nom-d'utilisateur
POP password on mailhost: votre-mot-de-passe-secret
Si les « messages d'erreurs » de gwpop vous parraissent normaux, le courrier sera téléchargé depuis votre poste principal et placé sur votre machine locale à l'endroit que vous aurez indiqué à gwpop (faîtes des tests avec quelques courriers électroniques).
Vous pouvez aussi utiliser gwpop en tant que démon :
$ gwpop -d $HOME/tmp votre-nom-d'utilisateur
Les messages de gwpop seront envoyés à syslog et gwpop tournera indéfiniment en tâche de fond ; un signal HUP forcera gwpop à aller chercher votre courrier.
Vous pouvez télécharger les logiciels pop utilisés ici sur :