Utiliser une messagerie est devenu au cours du temps une action risquée (tentatives d'escroquerie en tout genre). C'est particulièrement vrai pour les personnes vulnérables ou dont les activités sont trop éloignées de l'Internet. En général, ces personnes ont peu de contacts Internet. Un moyen de les aider est de faire le recensement des adresses courriels des personnes et des organisations susceptibles de leur écrire et de filtrer toutes celles qui ne sont pas dans cette liste blanche.
Au delà de cette protectioin élémentaire, et, disposant de plusieurs boîtes aux lettres (BAL) pour des raisons de cloisonnement de mes activités, je souhaitais disposer d'une application exécutable depuis un VPS capable de lire ces BAL "source" et de redistribuer leurs courriels vers une ou plusieurs autres BAL "cible". Cela a deux avantges :
Pour autant, je ne voulais pas non plus entrer dans le détail de réalisation d'un serveur POP, IMAP ou SMTP car ces serveurs imposent une charge d'exploitation non négligeable. J'avais donc besoin d'un mécanisme automatique de redirection des courriels :
La plupart des clients de messagerie comme Thunderbird peuvent faire cette action mais ceux qui l'ont tenté se sont heurtés à plusieurs inconvénients majeurs :
Chemin faisant on constate aussi qu'un redirecteur de messages pourrait être un excellent moyen d'archivage automatique des courriels.
Ces réflexions m'ont conduit à imaginer un système capable de :
En quelque sorte, ce système centralise les flux de messagerie du monde public pour les redistribuer dans une sphère plus privée.
N'étant pas contraint par les serveurs récepteurs (POP, IMAP) ou émetteurs (SMTP), ce système peut se placer sur n'importe quelle machine reliée à l'Internet, et, au final, une même application peut travailler pour des personnes ou des organisations différentes. On pourrait qualifier un tel système de système "du milieu".
Ce projet a également été l'occasion de remettre de l'ordre dans l'usage que l'on peut faire de certaines libariries. En matière de messagerie et compte tenu du nombre et de la complexité actuelle des standards de messagerie, il serait très pénalisant de devoir tout ré-écrire à partir des RFC. C'est là qu'intervient le logiciel libre. En fait, il n'existe pas vraiment une librairie qui couvre complétement le sujet. Cela aurait pu être le cas avec vmime mais ce projet n'a plus vraiment de support et il commence à lui manquer des fonctions clefs notamment dans le domaine de la sécurité des connexions.
Nous allons donc répartir la messagerie en deux grands domaines :
Le pojet s'appuie également sur les librairies du projet openssl pour tout ce qui touche au chiffrement/déchiffrement. Enfin, pour l'accès à la base PostgreSQL nous avons construit une librairie Qt qui encapsule la librairie libpq car Qt est un peu limité avec ce SGBDR.