IMAP : Stockage du courrier électronique
Jusqu'à la fin du mois de juin, pour lire mes courriers électroniques, je les relevais simplement par POP, et je les lisais avec un client de courrier électronique en local. J'ai successivement utilisé Netscape (à l'époque où Mozilla n'existait pas), puis
Gnus, puis
Sylpheed. À la fin du mois de juin, sachant que je n'allais plus avoir de connexion Internet pour quelques mois, j'ai configuré
Mutt sur
enix.org, mon hébergeur favori. Depuis ce moment là, j'utilisais donc
Mutt à distance par
ssh. Mutt est un client de courrier électronique en mode texte assez sympathique, il est très rapide et tout faire au clavier fait gagner pas mal de temps. Je le lançais dans un
screen pour qu'il soit toujours actif sur le serveur. Où que j'aille, un simple client ssh suffisait pour lire mes mails. En plus, enix.org mettait à ma disposition un spamassassin pour filtrer les spams, bref c'était sympathique.
Cependant, je n'avais pas tout mon historique de messages sur enix.org, et je ne pouvais pas signer mes messages étant donné que ma clé privée GPG était chez moi, en local. L'uploader sur un serveur sur lequel d'autres personnes ont les droits d'administration est un peu génant. J'ai donc décidé de tester IMAP.
IMAP est un protocole qui remplace POP. Au lieu de télécharger les messages et de les supprimer du serveur, IMAP laisse les messages sur le serveur, et permet de les organiser en répertoires et sous-répertoires. On pourrait penser que c'est très lent, mais en fait, c'est assez bien pensé. Lorsque l'on rentre dans un répertoire de courriers électroniques, le client télécharge seulement les entêtes de messages. Le corps des messages n'est téléchargé que lorsque l'on clique dessus. De plus, le client conserve un cache des messages et des en-têtes, il n'est donc pas nécessaire de tout retélécharger à chaque fois.
Tous les bons clients de courrier électronique supportent l'IMAP. Pour ma part, j'utilise Thunderbird, et je me connecte sur enix.org à l'aide d'une connexion IMAPS (IMAP sécurisé). Sur enix.org, un fichier
.procmailrc filtre les messages et les range dans les répertoires qui conviennent. Le filtrage pourrait se faire au niveau de Thunderbird, mais dans ce cas, si je change de client ou que je lis mes messages d'ailleurs, il faut remettre en place les filtres.
Pour la mise en place dans Thunderbird, c'est assez simple, il suffit de créer un nouveau compte de courrier électronique, lui dire que c'est de l'IMAP. Ensuite, dans les propriétés du compte, on précise que la connexion doit se faire en IMAPS. Enfin, dans les propriétés avancées, on précise que les messages sont stockés dans le répertoire ~/mail/ sur le serveur. Et voilà, c'est tout !
Pour filtrer mes messages, j'ai commencé le
procmailrc suivant :
:0fw
| /usr/bin/spamassassin
:0:
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*
/dev/null
:0:
* ^X-Spam-Level: \*\*\*\*\*
mail/spam
:0:
* ^TOlinux-mips@linux-mips.org
mail/linux-mips
:0:
* ^TOlolut@lolut.utbm.info
mail/lug/lolut
:0:
* ^TOgulliver@listes.gulliver.eu.org
mail/lug/gulliver
:0:
* ^TOuclibc@uclibc.org
mail/uclibc
La première règle fait passer les messages dans
SpamAssassin?. La seconde règle envoie vers /dev/null les messages qui ont une note de plus de 10 avec
SpamAssassin?. La troisième règle envoie les messages qui ont eu une note de plus de 5 avec
SpamAssassin? vers le répertoire
spam. Les autres règles redirigent les messages dans les répertoires correspondants.
Pour que tout-ceci fonctionne, il faut que Thunderbird vérifie de temps en temps dans chaque répertoire qu'il y a des nouveaux messages (puisque ce n'est pas lui qui fait le filtrage). Pour cela, sur chaque répertoire, un clic droit, et dans les propriétés, il faut cocher "Surveiller les nouveaux messages dans ce dossier".
Avec tout ça, ça fonctionne bien, et je dispose en local d'un client mail sympathique et graphique, qui permet de classer les messages, de signer/chiffrer mes mails, de lire des flux RSS, etc...
Deux dernières astuces pour Thunderbird :
- Pour désactiver l'affichage des mails en HTML (merci à David Anderson). Les mails en HTML sont convertis au format texte brut. Dans le fichier .mozilla-thunderbird/<votrecompte>/prefs.js, il faut ajouter :
user_pref("mailnews.display.html_as",1);
- Pour que les liens Web dans Thunderbird ouvrent Firefox, il faut ajouter éditer /etc/mozilla-thunderbird/global-config.js, et décommenter les lignes :
pref("network.protocol-handler.app.http","mozilla-firefox");
pref("network.protocol-handler.app.https","mozilla-firefox");
Notez que j'ai eu un problème au début avec l'IMAP : le serveur ne voulait pas créer de répertoires pour stocker mes messages. J'ai cherché pendant quelques temps, et je n'ai rien trouvé. Sur le serveur, j'ai donc supprimé mon fichier /var/mail/thomas, mon fichier ~/mbox, et ce qu'il y avait dans le répertoire ~/mail/. J'ai supprimé ma configuration de Thunderbird en local, et je l'ai relancé et refait une configuration, et ça a fonctionné. Vraisemblablement, le serveur IMAP n'avait pas aimé qu'un mbox soit déjà présent ...
Merci à
Jérome pour l'hébergement sur enix.org, et l'aide pour la configuration d'IMAP !