Solution de serveur de courrier électronique auto-hébergé (partie 7) : Concentrer l'information. 🔗

Posted by Médéric Ribreux 🗓 In blog/Debian/

#auto-hébergement #debian #email

Introduction

Comme de nombreuses personnes, je dispose de plusieurs adresses de courrier électronique. Vous le savez, jongler d'un compte à l'autre est pénible, même avec Mutt. Il existe néanmoins un truc qui existe sans doute depuis que le courrier électronique est né: les outils de concentration et de tri. Ces derniers permettent de récupérer des messages depuis de nombreux comptes, sur des machines différentes et d'appliquer des traitements dessus. Parmi ces traitements, il y a évidemment la copie dans un répertoire Maildir.

Je suis sûr que vous avez déjà entendu parler de tels outils: fetchmail et procmail en font partie. En ce qui me concerne, je n'avais pas envie de me mettre à ces deux outils qui sont très puissants mais qui dépassent largement mes moyens. Néanmoins, mes regards ont été attirés par fdm pour plusieurs raisons:

Installation et configuration

L'installation est très simple: aptitude install fdm. Il dispose de peu de dépendances et normalement, seul le paquet fdm et la libtdb seront installés. En version armel, il occupe environ 440Ko ce qui est vraiment minime.

Le fichier de configuration est personnel et il est situé dans ~/.fdm.conf. Cette configuration par utilisateur est tout à fait normale: la gestion du courrier électronique n'est-elle pas une activité purement privée qui ne concerne que l'utilisateur et non l'administrateur (dans une moindre mesure) ? Par défaut sous Debian, il n'y a pas de fichier central de configuration, normalement situé dans /etc/fdm.conf. Sachant que fdm travaille au niveau de l'utilisateur, autant tout mettre dans le répertoire home !

Ce fichier de configuration est assez complexe à mettre en œuvre car fdm peut servir à faire de nombreuses choses comme des tris automatiques, des vérifications de spams, d'antivirus, etc. Notre cas d'utilisation est plus simple.

fdm exploite plusieurs concepts qu'il faut comprendre avant de se lancer dans la configuration:

Globalement, l'action de fdm suit le déroulement suivant:

Voici un fichier de configuration simpliste pour mieux comprendre:

# Fichier simple de configuration de fdm
# Récupération depuis un compte POPS GMail et envoi
# dans une maildir spécifique

# Définition du compte (il sera référencé comme gmail):
account "gmail" pop3s server "pop.googlemail.com" port 995 
        user "jean.nemard@gmail.com" pass "my_true_password"

# Définition de l'action de stockage dans le bon répertoire maildir:
# Elle sera référencée comme gmailbox
action "gmailbox" maildir "%h/Maildir/.Gmail.inbox"

# Règle pour balancer les emails GMail dans le répertoire
match account "gmail" action "gmailbox"

Attention, ce fichier simpliste videra les messages de votre répertoire Inbox de GMail ! Mais, si vous désirez vous en passer, autant passer par là !

Dernière précision: les droits d'accès ! Fdm est pointilleux: il vous indique lorsque les fichiers sont en lecture par tout le monde. Pour éviter de pourrir trop vos logs, vous devez modifier les droits d'accès du fichier de configuration et des répertoires de Maildir:

chmod 600 ~/.fdm.conf
chmod -R 700 ~/Maildir/

Lancement automatique

Pour lancer fdm, vous devez indiquer une commande sur les trois suivantes:

Ainsi, si vous désirez lancer manuellement fmd, vous devez lancer la commande fdm fetch pour que l'action se lance vraiment.

Après vérification du bon fonctionnement de votre configuration, vous pouvez programmer une crontab:

# Activation de FDM toutes les heures tous les jours:
0 * * * *       /usr/bin/fdm fetch >/dev/null 2>&1

Conclusion

Voici, rapidement, comment concentrer son courrier électronique dans une seule arborescence Maildir. FDM est vraiment bien pour cette action: il est léger mais puissant. On peut bien entendu aller plus loin avec. La documentation de cet outil se révèlera, dans ce cas, une précieuse alliée.