Je vous propose la solution suivante si vous voulez lire votre courrier en console :
utiliser fetchmail pour relever votre courrier sur votre ordinateur (dans le cas où l'ordinateur sur lequel vous comptez lire votre courrier n'est pas le même que celui qui héberge votre boîte aux lettres) ;
utiliser Procmail pour le trier et SpamAssassin pour filtrer le spam ;
utiliser Mutt comme lecteur de courrier.
Commencez par installer fetchmail :
#
aptitude install fetchmail
Écrivez votre fichier de configuration
.fetchmailrc
dans votre répertoire personnel en vous basant sur mon
fichier de configuration type :
%
cp /root/config/fetchmailrc ~/.fetchmailrc
ou :
%
wget http://formation-debian.via.ecp.fr/fichiers-config/fetchmailrc
%
mv fetchmailrc ~/.fetchmailrc
et modifiez le nom du serveur POP, le login et le mot de passe.
Le fichier de configuration doit avoir les permissions 600, sinon fetchmail refuse de fonctionner :
%
chmod 600 ~/.fetchmailrc
Pour rapatrier les messages depuis le serveur sur votre ordinateur, il suffira de lancer la commande :
%
fetchmail
mais avant ça, nous allons mettre en place le filtrage avec Procmail et SpamAssassin.
Procmail est un programme simple capable de trier les messages en regardant leurs en-têtes. Nous allons lui demander de trier le courrier dans différents répertoires, appelés mailbox (boîtes aux lettres).
SpamAssassin est un programme qui parcourt
les en-têtes, le message et les éventuelles pièces jointes
et les analyse. Pendant cette analyse, il regarde un certain nombre
de critères généralement vérifiés par les spams, à chaque critère
étant associé un nombre de points (plus le critère est significatif,
plus le nombre de points est grand). Enfin, il additionne les
points pour attribuer au message une note globale. Par défaut, si
la note globale atteint 5.0 (on peut la changer en modifiant son
fichier de configuration
~/.spamassassin/user_prefs
qui est créé
automatiquement à la première utilisation), le message est considéré
comme du spam. Spamassassin rajoute
alors un en-tête X-Spam-Status: Yes et un
rapport de l'analyse dans le corps du message. L'en-tête rajouté
par spamassassin permet par exemple à
procmail d'aiguiller le spam dans une boîte aux lettres
poubelle.
Commencez par installer ces deux programmes (Procmail est normalement déjà installé) :
#
aptitude install procmail spamassassin
Le principe du tri de courrier avec Procmail et SpamAssassin est le suivant :
le courrier reçu par Postfix
via fetchmail arrive dans le fichier
/var/mail/nom_de_l'utilisateur
,
Postfix lance
Procmail, qui regarde si l'utilisateur a un
fichier .procmailrc
dans son
répertoire personnel,
si oui, il lit ce fichier
~/.procmailrc
et suit les
instructions qu'il contient,
dans notre cas, ces instructions lui disent de
déplacer le courrier dans une des boîtes aux lettres contenues dans le répertoire
~/mail
. SpamAssassin est alors
éventuellement appelé par Procmail pour détecter
les messages indésirables, qui sont ensuite envoyés dans la boîte aux lettres
spam
.
Avertissement | |
---|---|
Attention, une mauvaise utilisation de Procmail peut aboutir à la perte de messages. Il faut donc toujours faire des tests après la mise en place et après chaque modification de sa configuration. |
Utilisez le fichier de configuration d'exemple pour
Procmail procmailrc
:
%
cp /root/config/procmailrc ~/.procmailrc
ou :
%
wget http://formation-debian.via.ecp.fr/fichiers-config/procmailrc
%
mv procmailrc ~/.procmailrc
Regardez les commentaires écrits dans ce fichier pour comprendre comment il est construit et personnalisez-le. Aidez-vous éventuellement des manuels man procmailrc et man procmailex.
Créez un sous-répertoire mail
dans votre répertoire personnel qui
accueillera toutes vos boîtes aux lettres :
%
mkdir ~/mail
Les boîtes aux lettres seront des sous-répertoires du répertoire
mail
et seront créées automatiquement par
Procmail au premier message aiguillé dedans.
Le paquet mutt est normalement déjà installé.
Le fichier de configuration de Mutt est
~/.muttrc
. Utilisez mon fichier de configuration
d'exemple comme base de travail :
%
cp /root/config/muttrc ~/.muttrc
ou :
%
wget http://formation-debian.via.ecp.fr/fichiers-config/muttrc
%
mv muttrc ~/.muttrc
Éditez-le et personnalisez au minimum les deux premiers paramètres
(le champ From et la liste des adresses électroniques utilisées). Avec le
fichier de configuration que je vous propose, Mutt
détermine la liste des boîtes aux lettres à partir de la liste des sous-répertoires
du répertoire ~/mail/
(les sous-répertoires
correspondant aux boîtes aux lettres sont créés à la réception du premier message
pour cette boîte aux lettres). Pour avoir la liste complète des paramètres et
de leur description, utilisez man muttrc ou ce manuel d'utilisation en
français.
Si vous le désirez, vous pouvez écrire un carnet d'adresse
pour Mutt, sous forme d'un fichier texte
~/.aliases
. Chaque ligne du fichier correspond à
une entrée dans le carnet d'adresse. À chaque entrée dans le carnet
d'adresse, vous devez associer une clef que vous pourrez alors utiliser dans
mutt à la place du nom et de l'adresse électronique
complète. Les lignes de fichier doivent avoir la syntaxe suivante
:
alias clef Nom_et_Prénom <adresse_électronique>
Par exemple, si vous voulez me mettre dans votre carnet d'adresse en me désignant par la clef alex, ajoutez la ligne :
alias alex Alexis de Lattre <alexis@via.ecp.fr>
Commencez par lancer Mutt :
%
mutt -y
La liste des boîtes aux lettres apparaît à l'écran : Figure 46.1.
Sélectionnez une boîte aux lettres pour lire les messages qui s'y trouvent (Figure 46.2). Ensuite, pour passer d'une boîte aux lettres à une autre, utilisez la touche c : si une boîte aux lettres contient un nouveau message, son nom apparaît et vous n'avez plus qu'à taper Entrée ; si vous voulez aller à une boîte aux lettres particulière, tapez son nom précédé du signe = (la complétion automatique marche).
Pour écrire une lettre, placez-vous dans n'importe quelle boîte aux lettres et tapez m. Saisissez l'adresse du destinataire ou sa clef si vous l'avez mis dans votre fichier d'alias, puis le sujet du message. Mutt ouvre alors votre éditeur de texte préféré (Vim si vous n'avez pas changé ce paramètre dans le fichier de configuration). Le texte contient déjà des en-têtes que vous pouvez compléter ou modifier. Tapez le texte du message en dessous des en-têtes :Figure 46.3
Une fois que vous avez fini, enregistrez et quittez. Vous arrivez alors dans l'écran d'envoi des messages, dans lequel vous pouvez utiliser les commandes suivantes :
t pour modifier la liste des destinataires,
c pour modifier la liste des personnes en copie (Cc),
b pour modifier la liste des personnes en copie cachée (Bcc),
s pour modifier le Subject,
e pour rééditer le message,
a pour attacher des fichiers au message,
p pour accéder aux fonctions de chiffrement et de signature de GnuPG (voir ci-dessous),
q pour annuler l'envoi,
y pour envoyer le message.
Dans une boîte aux lettres, que vous soyez dans la liste des messages ou en train d'afficher un message, vous avez accès aux touches suivantes :
r pour répondre à l'expéditeur du message sélectionné,
g pour répondre à l'expéditeur et aux autres destinataires du message sélectionné,
Tab pour aller au prochain message non lu,
v pour afficher la liste des fichiers attachés à un message puis s pour les enregistrer sur le disque dur,
h pour afficher le message avec tous ses en-têtes (et de nouveau h pour enlever l'affichage des en-têtes),
f pour transférer le message sélectionné à quelqu'un,
d pour marquer le message comme devant être effacé,
u pour annuler le marquage d'effacement,
F pour marquer le message comme important, i.e. afficher un point d'exclamation au niveau du message (idem pour enlever le marquage),
a pour ajouter ou éditer l'entrée de l'expéditeur du message dans le carnet d'adresse,
$ pour réactualiser l'affichage de la boîte aux lettres (effacer les messages marqués comme devant être effacés et afficher les messages qui viennent d'arriver),
G pour aller directement à la liste des boîtes aux lettres.
Quand vous êtes dans la liste des messages d'une boîte aux lettres (et non quand vous êtes en train d'afficher un message), vous avez en plus accès aux touches suivantes :
o pour trier les messages de la boîte aux lettres : il propose alors le choix entre un tri par date, par expéditeur, par destinataire, par sujet, par discussion (tri normal), etc.,
w pour mettre un marqueur sur un message : il propose alors une liste des marqueurs (cela permet notamment de remettre un message comme non-lu en remettant le marqueur N),
l pour n'afficher que certains messages de la boîte aux lettres, tapez alors :
~f toto pour afficher les messages contenant toto dans le champ From,
~C titi pour afficher les messages contenant titi dans le champ To ou dans le champ Cc (taper ~t titi pour se limiter au champ To et ~c titi pour se limiter au champ Cc),
~s urgent pour afficher les messages contenant urgent dans le sujet,
~b bruit pour afficher les messages contenant le mot bruit dans le texte du message,
~F pour afficher les messages marqués comme important,
~A pour afficher tous les messages.
q pour quitter Mutt.
Note | |
---|---|
Pour revenir à la liste des messages quand vous êtes en train d'afficher un message, tapez e. A tout moment, vous pouvez taper ? pour accéder à la liste des touches disponibles avec leur fonction. |
Maintenant que tout est en place, vous pouvez :
lancer le rapatriement de vos messages :
%
fetchmail
vérifier qu'ils sont correctement triés en consultant le
fichier ~/.procmail.log
;
les lire avec mutt :
%
mutt -y
Quand vous envoyez un message avec mutt, il est transmis à Postfix qui essaie alors de joindre le serveur du destinataire, ou votre serveur relais si vous en avez défini un. Si ce serveur n'est pas joignable ou si vous n'êtes pas connecté à Internet, le message reste alors stocké dans la queue de messages de Postfix.
Pour voir les messages en attente dans la queue de Postfix :
%
mailq
Pour effacer un mail stocké dans la queue :
#
postsuper -d ID_du_message
où ID_du_message est l'ID du message tel qu'il apparaît avec la commande mailq.
Postfix essaye de vider sa queue à intervalles réguliers. Pour le forcer à vider sa queue immédiatement :
%
postqueue -f
Pour vous rendre la vie plus facile, j'ai créé des raccourcis clavier
vers ces commandes dans Mutt (cf
.muttrc
) :
F2 pour exécuter mailq,
F3 pour exécuter postqueue -f,
F4 pour exécuter fetchmail.