multipart/encrypted et alpine

J’utilise Alpine comme client mail depuis hmmm… 15 ans je pense. J’aime bien Alpine. Oh pitié, épargnez-moi le couplet sur sa license, et renseignez-vous avant de balancer du FUD.

J’utilise Alpine donc. Je suis, vous vous en doutez, très satisfait de ce logiciel d’une stabilité à toute épreuve qui gère mes boites mail fournies de centaines de milliers de mails (1997 - 2012) comme si elles en contenaient 12. Mais Alpine souffre d’un problème millénaire: sa -non- gestion des RFC 2015/3156 i.e. les messages multipart/signed et multipart/encrypted. En effet, Alpine, comme nombre d’autres MUA ne respectant pas cette RFC, signe ou chiffre via PGP/GPG dans le corps du message, par le biais d’outils tiers tels que pinepgp ou pine-pgp-filters.

Bien que ce fonctionnement ne soit pas fondamentalement gênant, il m’est pénible de sauvegarder un message que l’on m’aurait envoyé chiffré afin de visualiser son contenu via gpg -d. Cela m’empêche, en outre, de simplement pouvoir [r]épondre à un mail chiffré.

Il existe quelques solutions faiblement efficaces, ou encore des usines à gaz dont j’ai abandonné le packaging tellement elles me semblaient bancales, mais globalement, rien de simplement satisfaisant.

J’ai donc décidé d’orienter ma recherche autour d’un filtre procmail, mon MDA.

Pas de solution prémachée, mais quelques boûts à traffiquer un minimum afin d’obtenir le résultat suivant: lorsque l’on reçoit un email de type multipart/encrypted, on déplie l’attachement (le contenu crypté donc) et l’incrustons dans le corps du message. C’est pas propre-propre, mais ça fait son taf.

Pour ce faire, j’ai utilisé les recettes de monsieur pi, et surtout cet exemple d’utilisation de MIME::Parser. Ainsi, j’ai modifié le script en question, le résultat est disponible ici, et placé la règle suivante dans mon ~/.procmailrc:

J’attendrai d’avoir beaucoup plus d’alcool dans le sang pour m’attaquer à mail/topal