créer son propre service de messagerie accessible n’importe où et sur n’importe quelle plateforme

Jusqu’à présent j’utilisais les services de messagerie de mon hébergeur, je récupérais mes mails sur son serveur POP et je renvoyais via son serveur SMTP. Localement j’ai mis en place un serveur POP et un serveur SMTP le tout basé sur dovecot et sur sendmail avec toute une batterie anti spam. Utilisant Thunderbird pour la messagerie, tous les mails ensuite se retrouvent dans le répertoire .thunderbird de la home directory de chaque utilisateur de mon réseau personnel. Cette home directory se trouve sur un serveur Dell Poweredge (physiquement qui tourne dans le garage) ce qui permet de pouvoir lancer Thunderbird sur tous les postes de mon réseau local et de profiter des mails. Un script sur le serveur permet de récupérer et d’envoyer toutes les heures les mails respectivement sur le serveur POP et SMTP.

L’inconvénient de tout ça est qu’en déplacement, j’avais accès certes au webmail de mon hébergeur mais pas aux mails présents sur mon réseau local. Qui plus est, je ne pouvais voir les mails qu’entre deux vacations de récupération de mail, c’était plutôt handicapant. Pendant les vacances, quand je n’étais pas là durant une longue durée je coupais le serveur et donc la récupération pour pouvoir voir les mails entrants sur le webmail, mais je n’avais pas accès à mes anciens mails. Bref pas terrible, et je me suis contenté de cette situation pendant trop longtemps avant que je me décide à faire quelque chose, sachant que j’avais d’emblée exclu l’idée d’héberger mes mails dans un cloud quelconque à la main d’un Google ou Microsoft qui n’ont aucun scrupule à consulter les mails personnels pour en tirer une source de profit.

La solution que j’ai mise en place est toujours basée sur le serveur POP et le serveur SMTP de mon hébergeur, sauf que j’ai remplacé le serveur POP par un serveur IMAP local. Le serveur IMAP présente l’avantage de stocker les mails sur le serveur et non pas dans les répertoires d’une home directory d’un utilisateur, permettant ainsi le partage des mails dans la limite de l’accessibilité du serveur IMAP. Et c’est là que les choses intéressantes commencent, sur mon serveur apache local j’ai installé le webmail Roundcube mail, je peux ainsi consulter mes mails localement. Les choses n’ont pas été aussi simples car il a fallu passer d’un format de stockage de mail de type MBOX à un format MAILDIR avec quelques subtilités de configuration pour pouvoir disposer de sous dossier dans l’arborescence des mails. Le détail est donné par ici. Au final on accède à cette élégante interface.

Ce n’est pas fini ! Il faut ensuite sécuriser proprement votre serveur web, ouvrir les routes sur la box et/ou le routeur et mettre les règles shorewall qui vont bien pour que le serveur apache soit visible sur internet, de faire appel à un service de DNS dynamique (comme dyndns ou no-ip) qui fera correspondre automatiquement votre adresse IP fournie par votre fournisseur d’accès à un nom d’hôte. Ensuite à partir d’un bête mobile Android et d’un navigateur quel que soit votre position, vous aurez accès à l’ensemble de vos mails en tout temps et toute circonstance.

J’en profite pour vous signaler que j’en ai profité pour passer mon serveur en apache/httpd 2.4.41, pour franchir le pas vers PHP 7.4.0 et évoluer vers MySQL 8.0.18, ça se passe par ici.

Une réflexion sur « créer son propre service de messagerie accessible n’importe où et sur n’importe quelle plateforme »

Laisser un commentaire