Gestion des courriels sur ligne intermittente

Palaiseau, le mercredi 25 mars 2020

Cher Journal,

Histoire de pallier aux coupure de connexions, j'ai un peu modifié ma façon de récupérer mes courriels. Désormais, plutôt que de me connecter directement en IMAP avec Mutt, ou n'importe quel autre MUA, j'utilise un dæmon fetchmail pour télécharger périodiquement mon courrier. L'idée est que ce dæmon va récupérer mes courriels depuis le serveur IMAP de mon fournisseur, et stocker le contenu de la boîte de réception dans le fichier Mbox du système dédié à mon utilisateur /var/mail/emollier. C'est une technique ancestrale de la vieille garde, et des gens coincés avec des modems téléphoniques, donc des habitués des connexions intermittentes.

Le programme n'est en soi pas très compliqué. Il suffit d'installer le paquet fetchmail, puis de lui indiquer le, ou les, serveurs IMAP hébergeant le courriel via le fichier de configuration ~/.fetchmailrc. L'option daemon permet d'indiquer que le programme doit tourner en continu à la fréquence indiquée en secondes, plutôt que de s'exécuter une fois. La directive poll permet de configurer la connexion au serveur IMAP. À la lecture et relecture de la documentation de fetchmail, la connexion vers le serveur de courriel est chiffrée par défaut, avec la version modifiée de IMAP. Mais tout un tas de subtilités sont possibles en fonction des versions de SSL autorisées pour la communication, si on préfère le protocole normal embarqué dans une connexion SSL, ou plutôt le protocole sécurisé modifié pour intégrer nativement le chiffrement. Dans le doute, la configuration par défaut me semble être la plus saine ; je m'attend à utiliser ainsi STARTTLS, avec une version décente de TLS, laissée à l'appréciation du dæmon :

set daemon 60
poll mail.example.org
	protocol imap
	username "user1@example.org"
poll mail.example.org
	protocol imap
	username "user2@example.org"
Attention : à l'image du fonctionnement de POP, fetchmail va purger la boîte de réception à chaque passe. Cela ne se prête pas à ce que la boîte mail soit consultée par plusieurs dispositifs simultanément, comme un téléphone portable par exemple. De plus, cela signifie qu'il est désormais impératif que le répertoire /var/mail soit correctement sauvegardé, puisque l'intégrité de ces fichiers n'est plus sous la responsabilité du fournisseur d'emails.

À noter, fetchmail va insister pour que le fichier ~/.fetchmailrc soit uniquement lisible pour l'utilisateur courant. En effet, il est possible de spécifier en clair le mot de passe du compte dans la directive poll du fichier de configuration. Appliquer les bonnes permissions peut se faire ainsi :

$ chmod 0600 ~/.fetchmailrc

Une fois le fichier de configuration en place, il ne reste plus qu'à démarrer fetchmail pour permettre l'import des courriels :

$ fetchmail
Enter password for user1@example.org@mail.example.org:
Enter password for user2@example.org@mail.example.org:
$ _
Attention : en cas d'erreur dans la saisie du mot de passe, fetchmail va envoyer un courriel dans la boîte de réception du système pour indiquer que la saisie était erronée ; et surtout, va continuer à interroger le serveur de courriel avec le même mot de passer erroné. Dépendant de la politique du fournisseur, cela peut conduire à un blocage temporaire du compte, ce qui peut être ennuyeux.

Outre le fait que le dæmon va télécharger périodiquement les courriels depuis le serveur du fournisseur pour permettre une consultation hors ligne, le shell va désormais reconnaitre les courriels envoyés par les petits camarades, et les signaler à la fin de l'exécution de la commande en cours comme suit :

You have new mail in /var/mail/emollier
$ _

Je ne suis pas d'ordinaire amateur de notifications, à part peut-être pour me signaler que ce serait bien que je déclenche une sauvegarde, donc je ne sais pas combien de temps je vais tenir avec ce mécano. Il me reste à trouver le moyen d'envoyer facilement des courriels tout en étant hors ligne, en faisant en sorte que l'envoi ait lieu à un moment où il y a du réseau mais où potentiellement je suis occupé ailleurs, et l'environnement de travail sera parfait.

La façon dont évolue la situation me laisse à penser que ces coupures pourraient devenir une habitude, et pas seulement les coupures d'accès à Internet, ayant eu une coupure d'eau chaude ce matin. À ce sujet, c'est probablement la bonne occasion pour cesser d'abuser des douches, et se nettoyer au gant au lavabo. Je dérive un peu, donc je voudrais dire merci aux personnes qui se sont risquées à aller rétablir la connexion réseau ce midi, ainsi qu'à celles qui ont rétabli l'eau chaude, et leur souhaite un bon courage. Mais je ne leur serrerais pas la main tant qu'il ne sera pas prouvé que je ne suis pas infecté ni contagieux.  :)

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -

  —