1 points par GN⁺ 2024-08-24 | 1 commentaires | Partager sur WhatsApp
  • Aerc est un client email TUI bien plus jeune que Pine ou Mutt, mais il a désormais un niveau de maturité et de fonctionnalités qui justifie de le réévaluer pour un usage quotidien
  • Grâce à son aide basée sur des pages man comme :help et aerc-tutorial (7), on peut rapidement apprendre la configuration et les raccourcis clavier sans documentation externe
  • Les comptes se gèrent via un assistant et un fichier de configuration INI dans ~/.config/aerc/accounts.conf, ce qui permet aussi d’uniformiser des structures de dossiers différentes selon les serveurs
  • Pour les emails HTML, toujours délicats dans un TUI, l’affichage peut être ajusté avec w3m, dante, :open et des filtres personnalisés basés sur le MIME et les en-têtes
  • En combinant rédaction dans Vim, carnet d’adresses externe, PGP, signatures, modèles et alertes de pièces jointes, il permet de construire un workflow email centré sur le terminal très flexible

Positionnement d’Aerc et premières impressions

  • Aerc est un client email TUI dont la première version est sortie il y a environ 4 ans
  • Pine date de 1992 et Mutt de 1995, donc Aerc est très jeune en comparaison des clients email historiques pour terminal
  • Au départ, Thunderbird me satisfaisait plutôt bien et Aerc semblait être un outil un peu basique, donc je ne l’avais pas utilisé, mais en y revenant récemment il m’a paru assez mature et suffisamment riche pour servir de client au quotidien
  • Après plusieurs tentatives avec neomutt, vite frustrantes et abandonnées, je n’attendais presque rien d’Aerc, mais l’expérience réelle a dépassé mes attentes, au point d’en faire jusqu’ici le client email le plus agréable que j’aie utilisé
  • Il est encore trop tôt pour juger s’il est meilleur que d’autres clients email, mais après quelques jours d’utilisation, l’impression est très positive

Documentation et aide intégrée

  • Aerc propose une aide intégrée accessible via la commande :help
  • Le tutoriel présente de façon concise les fonctions principales et les raccourcis nécessaires pour une configuration rapide
  • Les autres pages d’aide couvrent aussi les différentes parties de l’application de manière brève et claire, ce qui facilite l’apprentissage sans ressources externes
  • La documentation d’aide se présente sous forme de pages man affichées via less
    • Exemple : aerc-tutorial (7)
    • C’est une manière d’intégrer un système d’aide portable directement dans l’application TUI

Configuration des comptes et gestion des dossiers

  • Les comptes peuvent être ajoutés via un assistant simple et intuitif
  • L’assistant crée une nouvelle entrée de compte dans ~/.config/aerc/accounts.conf
  • Ce fichier utilise une syntaxe INI, facile à lire et à modifier
  • La configuration de compte peut inclure les adresses IMAP/SMTP, les dossiers par défaut, l’expéditeur, l’emplacement de copie des messages envoyés, le cache d’en-têtes, le tri des dossiers, l’archivage, la fréquence de relève, ainsi que des fichiers de mappage de dossiers
  • folders-sort

    • folders-sort est une option qui remplace le tri automatique pour certains dossiers
    • Les dossiers indiqués apparaissent en tête de liste dans l’ordre fourni, tandis que les autres sont triés par ordre alphabétique
    • C’est une fonction rarement vue dans des clients graphiques comme Thunderbird ou Outlook, mais qui serait bienvenue partout
  • folder-map

    • folder-map mappe la structure des dossiers côté serveur, différente selon les fournisseurs, vers des noms de dossiers d’affichage
    • Gmail place tout sous un dossier [Gmail], certains fournisseurs mettent Sent et Drafts sous INBOX, d’autres non
    • La structure des dossiers fournie par le serveur est difficile à changer à moins d’administrer soi-même le serveur email
    • Aerc utilise un fichier de règles de mappage pour transformer les dossiers serveur en noms de dossiers affichés
      • remappage d’un dossier unique possible
      • remappage d’un dossier et de tous ses sous-dossiers possible
      • suppression d’un préfixe dans tous les sous-dossiers possible
      • remappage de sous-dossiers possible sans provoquer de collision de noms
    • Cette fonction permet de travailler avec une structure de dossiers cohérente sur tous les comptes, indépendamment de l’organisation côté serveur
    • Cette cohérence est particulièrement importante quand on gère ses emails en CLI plutôt qu’en GUI

Lecture des emails et traitement du HTML

  • L’expérience de lecture des emails est globalement assez ordinaire, et l’inconfort vient surtout des emails HTML plus que d’Aerc lui-même
  • Dans la plupart des emails multipart, la version texte brut est plus difficile à lire que la version HTML
  • En général, le sens reste compréhensible, mais il arrive que le contenu paraisse mélangé
  • Aerc propose plusieurs options pour limiter ce problème
    • On peut passer par la combinaison de w3m et dante pour afficher le message via un parseur/navigateur HTML
    • Pour certains emails, le rendu obtenu est meilleur que la version texte brut
    • En dernier recours, :open permet d’ouvrir le message dans le navigateur web par défaut
  • Le mode d’affichage est configurable via des filtres personnalisés
    • Les filtres sont des pipelines *nix par lesquels un message passe avant affichage
    • Les filtres par défaut gèrent la coloration du texte brut, les éléments de calendrier et les emails HTML
    • Les filtres peuvent être configurés par type MIME et peuvent aussi correspondre à certains en-têtes
    • Les exemples de configuration incluent des entrées comme text/plain=colorize, text/calendar=calendar, text/html=html | colorize

Rédaction des emails et carnet d’adresses

  • L’expérience de rédaction est très bonne, et le fait de rédiger ses emails dans Vim est un gros avantage
  • Intégration du carnet d’adresses

    • Plutôt que de gérer un carnet d’adresses directement en interne, Aerc délègue cette fonction à des programmes externes
    • L’utilisateur indique la requête de recherche à envoyer au programme de carnet d’adresses, puis le résultat est utilisé pour l’autocomplétion dans les champs d’en-tête concernés
    • Le programme par défaut est abook
    • D’après les tests, abook ne prenait pas en charge les noms contenant des caractères non ASCII, ce qui devient rédhibitoire si l’on échange souvent avec des germanophones
    • Il n’y avait pas non plus de moyen simple d’importer dans abook les adresses extraites de l’ensemble des emails
    • aercbook a aussi été essayé, mais il souffrait du même problème avec les caractères non ASCII
    • En revanche, aercbook sait extraire les adresses email depuis tous les champs d’en-tête
    • emailbook-janet est une réécriture d’aercbook
      • ses performances sont un peu moins bonnes, mais il corrige le problème ASCII
      • avec un raccourci clavier, on peut sélectionner un email, l’analyser, puis ajouter automatiquement toutes les adresses au carnet
    • emailbook-janet et aercbook ne sont pas vraiment des carnets d’adresses complets, mais plutôt des outils qui stockent seulement noms et adresses pour activer l’autocomplétion
    • Si l’on a besoin d’un carnet d’adresses plus puissant, on peut envisager khard, une solution similaire, ou encore un serveur LDAP

PGP, signatures, modèles et alertes

  • Le point le plus pénible dans la prise en charge PGP/GPG de Thunderbird était l’utilisation d’un trousseau de clés séparé
  • Aerc possède lui aussi son propre trousseau, mais il est optionnel
  • Par défaut, il utilise simplement le trousseau GPG existant
  • On peut indiquer un ID de clé précis à utiliser pour signer les messages, ou laisser Aerc retrouver la clé à partir de l’adresse email
  • Il existe aussi une option pour signer automatiquement tous les emails, ainsi qu’une option d’opportunistic encryption
  • Si la configuration GPG est correcte, la prise en charge PGP fonctionne sans problème
  • Fonctions de configuration générales

    • Aerc prend en charge les signatures par compte via signature-file= pour inclure un fichier texte
    • Il est également possible de générer une signature en exécutant une commande externe
    • Les modèles d’email sont aussi pris en charge, même s’ils n’ont pas été examinés en détail ici
    • L’application essaie de supprimer intelligemment les répétitions de Re: dans l’objet, dans plusieurs langues, à l’aide d’expressions régulières
    • Ces expressions régulières peuvent être remplacées ou étendues
    • Une vérification du sujet vide et une alerte de pièce jointe sont également disponibles
      • la vérification du sujet vide contrôle si l’objet est vide
      • l’alerte de pièce jointe repose sur des expressions régulières et peut donc être facilement étendue
      • l’expression régulière par défaut est ^[^>]*attach(ed|ment)
      • elle exclut les lignes commençant par > afin d’ignorer les citations où quelqu’un d’autre mentionne une pièce jointe
      • pour les emails en allemand, on peut étendre l’expression pour inclure an(ge)?h[aä]ngt?
    • Après quelques jours d’utilisation, Aerc donne une forte impression de logiciel bien poli, et semble être un client email à garder pour un bon moment

1 commentaires

 
GN⁺ 2024-08-24
Avis sur Hacker News
  • J’utilise Aerc depuis longtemps comme client mail au quotidien ; je m’en sers avec IMAP (Gmail, etc.), mais il fonctionne aussi très bien avec des répertoires de mail locaux.
    Étant trop vieux pour apprendre de nouveaux raccourcis clavier, j’ai remplacé le mappage des touches d’Aerc par des raccourcis façon Vim, et je peux désormais traiter de très nombreux mails extrêmement vite.
    J’ai configuré Gmail et Imapfilter pour qu’ils fonctionnent correctement, et j’ai aussi créé des filtres qui m’ont toujours manqué dans les clients mail classiques : un filtre sur l’expéditeur actuel ff = :filter -f "{{index (.From | emails) 0}}", l’affichage des mails avec le même sujet fs = :filter -H subject:"{{.SubjectBase}}", une recherche dans le sujet fS = :filter -H subject:, etc.
    Si cela vous intéresse, je peux mettre un lien vers le dépôt GitHub.

    • L’intégration avec Gmail m’intéresse. J’avais essayé avec mutt, puis j’ai abandonné parce que je ne voulais pas y passer tout l’après-midi.
      En plus, j’ai entendu dire que Gmail allait supprimer progressivement IMAP.
    • Ce post m’a donné envie de réessayer aerc, et le premier filtre en particulier est une fonctionnalité que j’ai toujours voulue dans un client mail.
    • https://github.com/rafo/aerc-vim
      J’ai aussi ajouté un aperçu des images en pièce jointe.
    • Les raccourcis Vim m’intéressent particulièrement. Avec ça, ce serait beaucoup plus facile de s’y mettre.
  • J’ai beaucoup creusé mutt, mais j’en suis finalement arrivé à la conclusion qu’un client mail graphique correspond mieux à mes besoins.
    Mutt/aerc ne prennent pas en charge Windows, que j’utilise beaucoup par préférence ou pour le travail, et l’affichage comme l’envoi de mails HTML sont insuffisants. Mes collègues se demandent pourquoi mes mails s’affichent bizarrement et pourquoi la mise en forme des réponses disparaît.
    Dans Betterbird, déplacer un mail dans un dossier par glisser-déposer est rapide, et contrairement à mutt, qui demande du temps pour obtenir une configuration correcte, ça fonctionne tout de suite. mbsync ou offlineimap prennent mal en charge OAuth, alors que Betterbird le gère nativement.
    Quand j’en ai besoin, je peux aussi répondre ou rédiger en texte brut avec Shift+clic. Je vis presque dans le terminal, mais là je m’arrête ici ; en revanche, l’investissement dans newsboat comme lecteur RSS s’est jusqu’ici révélé plutôt bon.
    1: https://www.betterbird.eu/
    2: https://news.ycombinator.com/item?id=39812124
    3: https://isync.sourceforge.io/mbsync.html
    4: https://www.offlineimap.org/

    • Aerc devrait pouvoir être compilé aussi sous Windows ; il suffit d’avoir Go et make. Betterbird ne prenait en charge que macOS jusqu’à il y a quelques semaines, et quand la première build Mac avait été proposée, elle avait été refusée pour des raisons d’argent.
      Comme indiqué dans l’article, Aerc permet aussi de lire les mails HTML. Déplacer des mails peut aussi être beaucoup plus rapide au clavier qu’avec un glisser-déposer à la souris, et encore plus si l’on utilise souvent les mêmes dossiers : par exemple pa = :archive flat, pb = :move Brain, pf = :move.
      La configuration est beaucoup moins complexe que celle de mutt, et OAuth fonctionne bien. Betterbird est bien aussi, mais je n’aime pas le fait de ne pas pouvoir utiliser mes raccourcis clavier.
    • Les deuxième et troisième problèmes peuvent être atténués respectivement avec une entrée mailcap w3m ou une option comme set send_multipart_alternative_filter=markdown2html.py dans muttrc.
      https://gitlab.com/muttmua/mutt/-/blob/master/contrib/markdown2html
    • Aujourd’hui, Windows intègre dans une certaine mesure Hyper-V, permet de faire tourner une VM Linux, et OpenSSH est aussi présent par défaut. Il faut un peu bricoler pour obtenir un environnement correct, mais pas tant que ça.
      Je n’utilise que Linux, mais je préfère les interfaces graphiques, et j’utilise Evolution avec un MS Exchange on-premise. J’héberge aussi les mails de domaines personnels pour des amis et ma famille avec Dovecot, Exim, etc.
      Je ne connaissais pas Betterbird, mais je l’ai mis en favori pour l’évaluer. Un jour, il faudra abandonner notre serveur Exchange, et j’ai hâte de voir la discussion sur un éventuel passage à M365. Du point de vue d’un dirigeant qui exploite des systèmes mail depuis plus de 25 ans, Exchange peut finalement être remplacé par une combinaison d’IMAPD, de MTA et d’application de calendrier.
    • dodo pourrait être ce qu’il faut. C’est essentiellement un client mail graphique, mais avec beaucoup de raccourcis Vim, donc une sorte de mélange des avantages du terminal et du graphique, un peu comme qutebrowser pour l’e-mail.
      Cela dit, la maintenance semble arrêtée et il paraît ne prendre en charge que le backend notmuch.
      1: https://github.com/akissinger/dodo
      2: https://qutebrowser.org/
    • Les opinions politiques de l’auteur me laissent perplexe, mais j’utilise mutt-wizard, et avec cette configuration, il suffit d’appuyer sur v au lieu de o pour ouvrir le mail dans le navigateur web déjà ouvert.
      Pour lire des mails HTML, c’était tout à fait correct. Cela dit, je l’utilise seulement pour un usage personnel, pas professionnel, donc cela peut varier selon les personnes.
  • Lassé d’avoir cinq onglets Gmail et deux onglets de messagerie non-Gmail ouverts, j’ai configuré aerc cette semaine, avec le backend Notmuch et une synchronisation du courrier via lieer pour Gmail et mbsync pour le reste
    Il m’a fallu environ 12 heures pour le configurer et m’habituer au flux, mais c’est bien plus agréable que ma manière de travailler précédente. Contrairement à un onglet Gmail dans Firefox qui consommait plus de 100 Mo, cette nouvelle configuration est beaucoup plus légère, et la recherche locale est rapide et de bonne qualité

    • Si vous utilisez Notmuch, je recommande bower. C’est une UI terminal qui interagit avec notmuch, et on peut la configurer pour fonctionner par-dessus SSH, ce qui permet d’ouvrir les pièces jointes sur la machine locale même si la base notmuch se trouve sur un autre ordinateur
      1: https://github.com/wangp/bower
    • Je recommande vivement d’essayer notmuch. Je suis passé dessus vers 2011 et je ne suis jamais revenu en arrière
      Il n’est pas nécessaire d’utiliser Emacs comme client, il existe de nombreux frontends, dont aerc
      https://notmuchmail.org/frontends/
      Parmi eux, alot est probablement le plus connu
      https://github.com/pazz/alot
  • Les clients mail en UI terminal m’ont toujours semblé attirants, mais je crois comprendre pourquoi une partie de moi les rejette
    Le terminal est mon espace de méditation. C’est mon terrain de jeu pour me concentrer en profondeur et faire le vrai travail que j’aime
    Lire ou écrire des mails, comme Slack, relève des corvées, et je n’ai pas envie de faire entrer ça dans mon terminal

    • Je vois les choses un peu différemment. Plus une tâche me semble être une corvée, plus je suis attiré par les outils qui améliorent l’expérience
      Mettre ces tâches à part ne fait, selon moi, que renforcer les associations négatives qu’on leur attribue. Comme il faudra bien finir par tout traiter, autant rendre ça un peu moins pénible ; et au moins dans mon cas, cela ne nuit pas aux avantages du travail dans le terminal
    • Moi aussi je m’appuie beaucoup sur le terminal pour la plupart des choses, mais l’e-mail en UI terminal et la navigation web n’ont jamais vraiment collé. Cette formulation explique parfaitement pourquoi
  • Les problèmes que l’on rencontre aujourd’hui avec l’e-mail viennent du manque de développement d’outils de messagerie modernes et personnels
    Par personnel, j’entends une configuration qui ne vit pas sur le serveur mail de quelqu’un d’autre, qui permet de télécharger ou synchroniser facilement de l’IMAP distant, ou de l’utiliser directement, avec un serveur IMAP personnel à la maison, des clients centrés sur la recherche comme notmuch-emacs/mu4e et de bons outils de filtrage comme MailDrop
    Toutes les briques existent déjà. On peut reclasser des mails synchronisés avec IMAPFilter et OfflineIMAP, ou les télécharger avec fetchmail et MailDrop, puis utiliser notmuch dans Emacs ou Aerc. Mais ce ne sont que des programmes séparés, avec des configurations, des styles, une qualité de documentation et un niveau d’accessibilité différents ; pour quelqu’un qui n’est pas geek ou expert, il n’y a pratiquement rien
    Résultat, beaucoup de gens assimilent l’e-mail au webmail, et considèrent le webmail comme un service tiers, au même titre que Slack ou WhatsApp Web. C’est une vision dangereuse pour la liberté de communication et pour la puissance qu’offre l’e-mail
    Attraper la facture périodique d’un FAI avec une règle MailDrop, lancer un script, ajouter l’échéance et le montant au calendrier, puis vérifier dans le logiciel de comptabilité local s’il existe une transaction correspondante et alerter en cas d’anomalie, ce n’est pas difficile avec des outils textuels comme org-agenda, BeanCount, MailDrop et l’e-mail. Avec les logiciels modernes, c’est très difficile, et c’est une grosse perte pour les power users potentiels pour qui l’apprentissage et la mise en œuvre d’une automatisation simple seraient trop longs, ou qui ignorent même que c’est possible
    L’informatique est née pour simplifier la vie et étendre la cognition humaine ; il est triste que presque tout le monde l’ait oublié
    [1] À cause des noms de fichiers des mails, la synchronisation entre plusieurs machines provoque souvent des désagréments liés à l’état non lu ou aux tags, ainsi que la création de messages en double

    • Le PERSONAL en majuscules est vraiment important. Aujourd’hui, beaucoup de gens sont enfermés dans des sites web comme Gmail et ne savent même pas ce qui est possible
      L’e-mail devait à l’origine être personnalisable à 100 % : workflows, filtrage, tri, dossiers, etc.
      Comme les anciens outils fonctionnent encore, cette possibilité existe toujours. Mais il faudrait mieux faire savoir à quel point l’e-mail peut être excellent quand on l’utilise comme il était prévu. Si j’avais cru que Gmail était l’e-mail, moi aussi je détesterais l’e-mail, mais Gmail n’est pas l’e-mail lui-même
      procmail et mutt fonctionnent encore très bien aujourd’hui
  • J’aime vraiment les projets textuels modernes. Merci de garder le terminal vivant et pertinent

  • J’ai vu une démonstration de quelqu’un lisant ses e-mails dans Emacs avec mu4e : la partie HTML était directement envoyée dans Firefox pour affichage, et certaines parties étaient converties en PDF
    https://www.youtube.com/watch?v=1uulLBKBMX8

  • aerc est assez atypique en ce qu’il est conçu comme un client, plutôt que comme un outil qui stocke les mails sur l’ordinateur. Cela a donc des implications et des limites en matière de performances
    On peut aussi l’utiliser avec du courrier local, mais d’après ce que j’ai vu cela ressemblait à une fonctionnalité de second rang ; cela dit, je l’ai regardé il y a longtemps, donc les choses ont peut-être changé
    Avec une telle conception, on pourrait s’attendre à ce qu’IMAP fonctionne mieux, mais les déconnexions étaient fréquentes et il fallait redémarrer pour se reconnecter. Les conflits de raccourcis entre neovim et aerc étaient aussi gênants
    Globalement, je ne suis pas satisfait. Je pourrais revoir ma configuration pour voir ce que j’ai raté, mais pour l’instant je mise davantage sur neomutt

    • C’est clairement mieux quand on l’utilise avec un répertoire de courrier local. Je pense que la plupart des utilisateurs d’UI terminal pour le mail l’emploient avec des utilitaires comme mbsync et notmuch pour améliorer l’expérience globale
    • Moi aussi je rencontre des déconnexions IMAP. Ça va paraître un peu bricolé, mais je lance aerc dans une boucle while, et quand ça déraille je quitte avec q, puis je le relance en quelques secondes
      Cela reste malgré tout mon client mail préféré, mais il peut clairement s’améliorer
    • Je me demande ce que vous entendez par conflit de raccourcis entre neovim et aerc. Vim utilise presque toutes les touches du clavier, donc j’ai l’impression que c’est un problème susceptible de se produire avec pratiquement n’importe quel programme
    • Le meilleur agent utilisateur de messagerie, mutt, se reconnecte automatiquement quand la connexion au serveur IMAP échoue. Cela dit, ça ne semble pas fonctionner à tous les coups
      https://lwn.net/Articles/837960/
    • Ce n’est pas aussi le cas de mutt ?
  • himalaya semble prometteur
    https://github.com/soywod/himalaya
    https://pimalaya.org/himalaya/cli/latest/index.html

  • Je ne vois nulle part d’explication de ce qu’est une « TUI ». On peut considérer qu’il s’agit d’une interface utilisateur en texte