Mutt : client de messagerie en console

Mutt est un client de messagerie libre en mode console pour les systèmes UNIX.

Il supporte plusieurs formats de boîtes aux lettres électroniques, notamment Maildir et Mbox. Il supporte également plusieurs protocoles (dont POP3 et IMAP). Il offre également le support des types MIME, notamment le type MIME-PGP avec lequel il s'intègre très bien.

Il offre des possibilités de configuration très poussées : il existe plusieurs centaines d'options de configuration et de commandes. Il permet de modifier tous les raccourcis claviers et de créer des macros pour les actions complexes. Toutes les options de configuration peuvent être modifiées dynamiquement, notamment en fonction du contenu d'un courrier reçu ou sur le point d'être envoyé, et du nom de la boîte aux lettres ouverte. Il permet également de personnaliser la coloration et l'agencement de l'interface.

Mutt est utilisé entièrement au clavier et supporte les fils de discussion, ce qui facilite le déplacement dans les longues discussions, telles qu'on peut en trouver dans les listes de diffusion. Les messages sont composés avec l'éditeur de texte externe défini par défaut.

Le slogan de Mutt est « All mail clients suck. This one just sucks less », que l'on peut traduire par « Tous les logiciels de courrier électronique sont merdiques. Celui-ci est juste moins merdique ». Les développeurs et les utilisateurs de mutt prétendent que, bien que tous les clients de courrier aient des défauts, mutt est celui qui en a le moins. L'expression « Foo sucks less » est devenue dans le jargon informatique, une forme de compliment.

Il suffit d'installer les paquets mutt.

Note importante : si vous obtenez l'erreur suivante lors d'un envoi : "Pas d'authentificateurs disponibles", je vous conseille d'installer le pacquet : libsasl2-modules.

Il est préférable de partir de zéro, il faut donc créer un fichier .muttrc dans votre Dossier personnel. Ajoutez le contenu suivant, en le modifiant bien sûr avec vos informations personnelles.

# configuration de base
set realname = "{votre NOM}"
set header_cache =~/.mutt/cache/headers
set certificate_file =~/.mutt/certificates
set message_cachedir =~/.mutt/cache/bodies

# configuration imap
set spoolfile=imaps://imap.gmail.com:993/INBOX
set imap_user = "{votre @ email}"
set imap_pass = "{votre password}"
set imap_passive="no"
set imap_check_subscribed="yes"
set imap_list_subscribed="yes"

# configuration SMTP
set smtp_url = "smtp://{votre @ email}@smtp.gmail.com:587/"
set smtp_pass = "{votre password}"
set from = "{votre @ email}@gmail.com"
set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from

# petit plus
set trash = "imaps://imap.gmail.com/[Gmail]/Trash"
set postponed="+[Gmail]/Draft"
set folder = "imaps://imap.gmail.com:993/"
set imap_check_subscribed
set mail_check = 120
set timeout = 300
set imap_keepalive = 300
set signature='/signature.txt'

# locales FR pour les nom des jours et mois
set locale="fr_FR"

# Format de date
set date_format="%A %d %b %Y à %H:%M:%S (%Z)"

# phrase d'intro pour réponse quotée
set attribution="Le %d, %n a écrit :"
set forward_format="[Fwd: %s]"
set forward_quote

#
mailboxes !

#Editeur
set edit_hdrs
auto_view text/html
#set editor="nano" # indiquer ici votre éditeur de texte préféré.

color attachment magenta default            # attachments
color body brightred default "(ftp|http)://[^ ]+"       # point out URLs
color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
color bold brightblue default               # boldface text
color error brightwhite red                 # error messages
color hdrdefault magenta default            # default color of message header
color header brightmagenta default ^(From): # From and Subject header
color header brightwhite default ^(Subject): # From and Subject header
color header brightwhite default ^(Date): # Date header
color header white default ^(In-Reply-To):
color indicator brightred default                   # indicator bar
color markers brightblue default            # wrapped line markers (+)
color message brightblack green             # status messages
color normal default default                # default
color quoted yellow default                 # quoted text, 1st quote level
color quoted1 green default                 # quoted text, 2nd quote level
color quoted2 brightblue default            # quoted text, 3rd quote level
color quoted3 blue default                  # quoted text, 4th quoet level
color search black yellow                   # matched search patterns in pager
color signature red default                 # the signature (after sigdashes)
color status default blue                   # status lines
color tilde brightblue default              # ``~'' used to pad blank lines
color tree green default                    # thread tree in the index menu
color underline brightgreen default         # underlined text


# Pour la gestion des accents
set locale="iso-8859-15"

set pager_index_lines=7
set pager_stop

Lancez l'application via la commande suivante :

mutt

Plugin Mutt Sidebar

Toujours dans l’optique de personnaliser son environnement, il existe une version modifiée du logiciel de messagerie Mutt incluant une barre latérale. Cette version appelée tout simplement mutt-sidebar permet l’affichage des différents libellés (mailboxes) dans un panneau latéral : une option qui donne un petit air de thunderbird ou encore d’Évolution à Mutt. Il suffit d'installer le paquet mutt-patched (dépôts Universe). Ensuite il faut ajouter les lignes suivantes dans votre fichier .muttrc pour utiliser les raccourcis clavier.

# set up the sidebar, default not visible 
set sidebar_width=12 
set sidebar_visible=no 
set sidebar_delim='|' 
set sidebar_sort=yes 

# which mailboxes to list in the sidebar 
mailboxes =inbox =ml 

# color of folders with new mail 
color sidebar_new yellow default 

# ctrl-n, ctrl-p to select next, prev folder 
# ctrl-o to open selected folder 
bind index \CP sidebar-prev 
bind index \CN sidebar-next 
bind index \CO sidebar-open 
bind pager \CP sidebar-prev 
bind pager \CN sidebar-next 
bind pager \CO sidebar-open 

# I don't need these. just for documentation purposes. See below. 
# sidebar-scroll-up 
# sidebar-scroll-down 

# b toggles sidebar visibility 
macro index b '<enter-command>toggle sidebar_visible<enter>' 
macro pager b '<enter-command>toggle sidebar_visible<enter>' 

# Remap bounce-message function to "B" 
bind index B bounce-message 

# 
# Mario Holbe suggests: 
# macro index b '<enter-command>toggle sidebar_visible<enter><refresh>' 
# macro pager b '<enter-command>toggle sidebar_visible<enter><redraw-screen>' 
#

Voici à présent de quoi naviguer sans problème dans la sidebar :

  • [ Ctrl + p ] : Précédent.
  • [ Ctrl + n ] : Suivant.
  • [ Ctrl + o ] : Ouvrir.
  • [ b ] : Afficher/Cacher la sidebar.

Il est bien évidement possible de modifier librement les raccourcis clavier.

Plugin Goobook

Maintenant, un élément important qui manquait était la gestion des contacts, qui ne sont pas importés avec l'IMAP (pas avec mutt tout du moins). Qu'importe, Goobook est là maintenant! En pratique, Goobook permet de récupérer la liste des contacts en local et d'y rechercher des adresses email. Il autorise aussi la création de nouveaux contacts sur son compte Google, mais pas la destruction.

Goobook est la pièce qui manquait à mutt: tous vos contacts Gmail sont maintenant à portée de main.

Vous trouverez différentes version en suivant ce lien

wget http://pypi.python.org/pypi/goobook{la_version}.tar.gz
tar -xzvf goobook-*.tar.gz 
cd goobook-*
sudo python ./setup.py install

goobook config-template > ~/.goobookrc

vi ~/.goobookrc
[DEFAULT]
email: {votre @ email}@gmail.com 
password: {votre password} 
max_results: 9999
cache_filename: ~/.goobook_cache
cache_expiry_hours: 24

Pour vérifier le fonctionnement :

goobook reload

Le problème évident est d'avoir son mot de passe Gmail écrit en dur dans un fichier. Le blog de Marcel (voir le lien en bas de la page) en parle très bien, mais sa solution n'a pas été testée.

Il faut ajouter les lignes ci-dessous dans votre .muttrc

#Google contacts
set query_command="goobook query '%s'"
bind editor <Tab> complete-query
macro index,pager a "<pipe-message>goobook add<return>" "add the sender address to Google contacts"

Lors de la création d'un nouveau message, il suffit de taper les premières lettres du noms de la personne qui se trouve dans votre carnet d'adresse et d'utiliser la touche de tabulation pour voir apparaître la liste des contacts contenants la suite de caractères.

Correction d'orthographe

vous pouvez utiliser le paquet aspell-fr et ajouter la ligne suivante dans votre fichier .muttrc

# Correcteur d'orthographe
set ispell="aspell -e -c"

Plugin urlview

Urlview est là pour nous aider. Il s'agit d'un analyseur de fichier simpliste, qui présente via une interface efficace les différentes url accessibles trouvées dans le dit fichier. Il suffit d'installer le paquet urlview. et d'utiliser une macro dans votre fichier .muttrc pour appeler urlview.

macro index \cb |urlview\n
macro pager \cb |urlview\n

Lancer la commande suivante et faire ce que vous voulez faire :

$ mutt -nd 5

Ensuite quitter en tant 'q' et taper la commande suivante pour observer la log générée :

$ less ~/.muttdebug0
  • mutt.txt
  • Dernière modification: Le 19/10/2019, 09:22
  • (modification externe)