[Mutt] Connexion à GMail ou GSuite
Mutt
ou NeoMutt
sont des MUA en TUI. Non ne partez pas tout de suite !!
Je vais vous expliquer.
Un MUA est un Mail User Agent
c’est-à-dire un client pour lire ses
mails. C’est ce que sont les logiciels Mutt et NeoMutt, mais ils ont une
petite particularité: ils sont exploités via une TUI (Text User
Interface). Ceci signifie que l’affichage et l’utilisation sont réalisés
dans votre terminal. Ceci peut sembler surprenant de premier abord mais
l’utilisation d’un tel système fait rapidement gagner du temps et de la
mémoire vive (Je vous invite à faire une analyse de la mémoire consommée
par vos WebMails…).
Il existe deux grandes versions du logiciel: Mutt1 et NeoMutt 2. Un peu à l’image de MySQL et MariaDB, Mutt est le produit historique et NeoMutt en est un fork. Celui-ci apporte des nouvelles fonctionnalités et est compatible avec Mutt dans une grande majorité des cas. Les deux projets sont toujours actifs et le choix de l’utilisation de l’un ou l’autre est libre.
Installation
L’installation de Mutt ou NeoMutt est assez simple nous ne la
détaillerons pas ici. Disons simplement que votre gestionnaire de paquet
(apt-get, yum…) a sûrement le paquet dans ses dépôts. Aussi un
simple apt-get install mutt
ou yum install mutt
devrait faire
l’affaire.
Fichiers de configurations
La configuration de Mutt
peut être réalisée dans 3 fichiers distincts :
- /etc/Muttrc:
- Configuration globale à tous les utilisateurs. Souvent pré configuré par votre distribution Linux. Nous n’y toucherons pas.
- ~/.muttrc
- Configuration personnelle que nous allons éditer ici. Ce fichier de configuration est personnel et peut contenir des identifiants de connexion. Aussi il convient de faire attention aux droits qu’on applique sur celui-ci.
- ~/.mutt/muttrc:
- Fichier de configuration personnel lui aussi. Étant dans le dossier
.mutt
il favorise son versionnement dans un système comme git.
Dans ces fichiers-là, nous ajoutons des directives de type
set key = value
pour faire une configuration.
Préparer son compte GSuite
Par défaut votre compte GSuite ou GMail n’est pas autorisé à être accédé par un autre moyen que les API Google. Hors ici nous souhaitons utiliser une méthode de connexion via IMAP/SMTP. Nous devons donc configurer notre compte. Pour cela deux possibilités
Vous avez activé l’authentification à deux étapes
Si vous avez activé l’authentification à deux étapes bravo. Pour pouvoir
se connecter à Mutt
il nous est nécessaire de créer un mot de passe
unique.
Pour cela rendez vous ici https://myaccount.google.com/u/0/apppasswords et créer un nouveau mot de passe (Le choix du type d’application importe peu, j’ai mis Autre personnellement). Une fois l’application créée un mot de passe vous sera présenté. Conservez-le précieusement, il vous servira à vous connecter par la suite et ne pourra jamais être récupéré si vous le perdez (Il faudra en créer un nouveau).
Vous n’avez pas activé l’authentification à deux étapes
Si vous n’avez pas activé l’authentification à deux étapes je ne peux
que vous inviter à le faire. Mais si vous souhaitiez tout de même
utiliser Mutt
sans d’autre authentification il est possible de
simplement désactiver la protection de Google.
Rendez-vous ici: https://myaccount.google.com/u/2/lesssecureapps et cocher l’option “Autoriser les applications moins sécurisées”.
Activer l’IMAP dans votre boite GMail
Enfin la dernière chose à faire est d’activer l’IMAP dans votre boite GMail. Ceci se fait via les paramètres, onglet (Transfert POP/IMAP)[https://mail.google.com/mail/u/0/#settings/fwdandpop].
Configurer Mutt
Nous pouvons maintenant configurer notre logiciel. Éditer le fichier
~/.muttrc
. Voici mon fichier de configuration pour mon compte GSuite.
Le mot de passe à utiliser est celui que vous avez récupéré lors de
l'étape précédente (ou votre mot de passe global si vous n’avez pas
activé la double authentification).
set realname = "Romain THERRAT"
set from = "[email protected]"
set use_from = yes
set envelope_from = yes
set smtp_url = "smtps://[email protected]@smtp.gmail.com:465/"
set smtp_pass = "<mot de passe>"
set imap_user = "[email protected]"
set imap_pass = "<mot de passe>"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set ssl_force_tls = yes
# Store message headers locally to speed things up.
# If hcache is a folder, Mutt will create sub cache folders for each account which may speeds things up even more.
set header_cache = ~/.cache/mutt
# Store messages locally to speed things up, like searching message bodies.
# Can be the same folder as header_cache.
# This will cost important disk usage according to your e-mail amount.
set message_cachedir = "~/.cache/mutt"
# Specify where to save and/or look for postponed messages.
set postponed = +[Gmail]/Drafts
# Allow Mutt to open a new IMAP connection automatically.
unset imap_passive
# Keep the IMAP connection alive by polling intermittently (time in seconds).
set imap_keepalive = 300
# How often to check for new mail (time in seconds).
set mail_check = 120
# Editor
set editor = "vim"
set charset = "utf-8"
set record = '^'
Je vous conseille de créer le dossier ~/.mutt/cache
pour pouvoir
accélérer mutt
si vous l’utiliser avec plusieurs comptes email.
$ mkdir ~/.cache/mutt
Vous pouvez maintenant démarrer mutt via la commande mutt
, ou neomutt
via la commande neomutt
. Le premier démarrage devrait être un peu
long, car il va télécharger la liste de vos emails mais les prochains
seront plus rapides.
Aller plus loin
Raccourcis clavier
J’ai fait un aide mémoire disponible ici qui recense les principaux raccourcis clavier. Je vous invite à en prendre connaissance.
Forcer la récupération des mails
Il peut être nécessaire de forcer la récupération des mails dans mutt. Comme nous l’avons vu dans la configuration, mes mails sont récupérés toutes les 120 secondes (2 minutes) ceci peut être limitant quand on est au téléphone par exemple. J’ai donc ajouté ceci à ma configuration pour permettre de forcer la récupération des mails via la touche G.
# G to get mail
bind index G imap-fetch-mail
Ordre des mails
Par défaut les mails ne sont pas classés par threads et sont affichés du plus ancien au plus récent. Nous avons été habitués à l’inverse aussi nous pouvons grouper nos mails et les afficher du plus récent au plus ancien avec cette configuration.
# Mailbox ordering
set sort_aux = reverse-last-date-received
set sort = threads
Conclusion
Avec un peu d’habitude l’utilisation de Mutt permet d'être réellement très efficace dans sa gestion de mail. Je vous invite donc à persévérer dans son utilisation !