Mutt est un puissant mailer
en mode texte avec des fonctions très utiles.
Il reprend d'ELM la présentation et certains menus, de PINE de
nombreuses fonctionnalités, ce qui en fait un hybride puissant.
Son utilisation est très simple.
A tout moment, par
exemple dans un menu, en appuyant sur la touche '?', vous accédez
à l'aide correspondant au menu dans lequel vous vous trouvez.
Outre la gestion de plusieurs boîtes à lettres pour un même
utilisateur, Mutt permet de gérer les messages reçus des
mailing lists, de les afficher selon une arborescence que l'on peut paramétrer
et de trier les messages en fonction de critères que l'on a choisi.
Bien qu'il soit en mode texte, le paramétrage des couleurs donne
une très bonne lisibilité et le rend convivial.
La configuration :
Afin d'exploiter toute la puissance de Mutt, il est nécessaire de connaître son paramétrage.
Plusieurs fichiers de configuration peuvent être utilisés :
un fichier pour la
configuration système de Mutt (Muttrc)
un fichier pour la configuration utilisateur (~/.muttrc) qui prévaut
sur le fichier Muttrc .
Le fichier Muttrc
est placé généralement dans le répertoire
/usr/local/share lors de l'installation de mutt.
Celui-ci suffit pour utiliser ce mailer avec les options par défaut.
Mais pour exploiter toute sa puissance, l'utilisation d'une configuration
personnalisée devient vite indispensable.
Il vous faut alors créer un fichier ~/.muttrc, où vous allez
placer tous les paramètres que vous voulez changer par rapport
à la configuration par défaut.
Le fichier .muttrc va remplacer les paramètres par défaut
par ceux que vous aurez définis .
Ce fichier ne reprend
pas la totalité des options de Mutt car elles sont trop nombreuses,
mais devrait vous permettre de découvrir la richesse de ses fonctions
et vous donner envie de l'utiliser.
Si vous souhaitez utiliser ce fichier, vous pouvez le télécharger
à partir de ftp://ftp.netliberte.org/pub/Linux/mutt/muttrc.tar.gz
# .muttrc
#
# Le format de ce fichier est :
# une commande par ligne
# tout ce qui se trouve derrière le dièse
(#) est pris comme un commentaire sauf si un backslash ( le précède.
# Note : $folder doit être initialisé AVANT tout autre variable contenant un chemin où les signes `+' ou `=' sont utilisés.
set folder=~/Mail # Répertoire utilisateur pour
stocker les mails (à ne pas confondre avec la boîte
ou arrive
# les nouveaux messages...)
set abort_unmodified=yes # Abandonne automatiquement la réponse
si le message n'a pas été modifié
set alias_file=~/.mail_aliases # Fichier contenant les alias
set arrow_cursor # Utilise > à la place de la ligne en surbrillance
lors du déplacement dans la liste des messages
#set ascii_chars # Utilise les caractères ASCII à
la place des caractères graphiques pour afficher la hiérarchie
# des messages
#set askbcc # Lors de l'écriture d'un nouveau message, demande
la saisie du champ `bcc'. Si le champ vous est
#automatiquement demandé, vous pouvez l'inhiber par la commande
`set noaskbcc'
#set askcc # Comme pour le champ `bcc' vous pouvez forcer la demande de
saisi du champ `cc'. Si celui-ci
# vous est automatiquement demandé, vous pouvez l'inhiber par la
commande `set noaskcc'
#set attribution="Le %d, %n écrivait :" # Horodate le message d'origine
lors de l'envoi d'une réponse
set autoedit # Passe directement dans l'éditeur de texte lors de
la composition d'un message.
# NOTE : Lorsque cette option est active, les paramètres askbcc,
noaksbcc, askcc et noaskcc sont inutiles.
#set auto_tag # Si l'option est active, la prochaine opération
sera automatiquement appliquée au message sélectionné
(*).
set charset="iso 8859 1" # Sélectionne la page de code iso
8859 1 pour votre terminal
set noconfirmappend # Lorsque cette option est active et que vous
sauvegardez un message, aucune confirmation ne vous est
# demandée
set confirmcreate # Cette option permet de confirmer la création
d'un nouveau fichier de sauvegarde des messages
set copy=yes # Garde automatiquement une copie des messages envoyés
set delete=yes # Lorsque vous quittez mutt, les messages effacés
(D) sont automatiquement supprimés de votre #
boîte aux lettres
set edit_headers # Autorise l'édition de l'entête d'un
message.
# NOTE: Si cette option est inactive, il peut s'avérer utile d'activer
les options askbcc et askcc
#set editor="emacs nw" # Vous pouvez ici choisir l'éditeur
que vous voulez utiliser pour éditer vos messages
#set fcc_attach # Cette option permet de choisir si l'on veut ou non envoyer
le(s) fichier(s) attaché(s) au(x)
# destinataire(s) mentionné(s) en copie (cc et/ou bcc)
#set force_name # Force le nom du fichier de sauvegarde. Celui-ci prendra
automatiquement le nom de l'expéditeur du message
#set forward_decode # Décode les messages forwardés au format
MIME
#set forward_format="[%a: %s]" # Définit
le sujet des messages que vous réexpédiez (forward)
#set forward_quote # Délimite l'entête et le corps des messages
que vous réexpédiez
set hdr_format="%4C %Z %{%m/%d} % 15.15F (%4c) %s" #
Format de chaque ligne de l'index des messages
#set hdr_format="%4C %Z %{%m/%d} [%2N] % 15.15F (%4c) %s #
Ceci est un autre exemple.
# Les variables suivantes peuvent être utilisées dans le
format:
# %a adresse de l'auteur du message
# %b nom du fichier de sauvegarde d'origine
# %B liste des destinataires du mail, sinon nom du fichier
(%b).
# %c taille du message
# %C numéro du message courant
# %d date et heure du message dans le format spécifié
par ``date_format''
# %f champ From: comple (adresse + nom réel)
# %F Nom de l'auteur, ou nom du destinataire si le message
est de vous
# %i message id du message courant
# %l nombre de lignes du message
# %L nom réel de l'émetteur du message
# %m nombre total de messages dans la boîte aux lettres
# %N score
# %n Nom réel de l'auteur (ou adresse si le nom est
inconnu)
# %O liste ( ou expéditeur si il n'y a pas de liste)
auquelle est ratachée le message
# %s sujet du message
# %S statut du message (N/D/d/!/*/r) (N=Nouveau; D=Effacé;!=Important;*=Marqué;r=
répondu
# %t champ `to:' (destinataire)
# %T Caractères correspondants à la variable
$to_chars
# %u login de l'auteur
# %Z état du message
# %{fmt} la date et l'heure sont converties au fuseau
horaire de l'expéditeur
# %[fmt] la date et l'heure sont converties au
fuseau horaire local
# %(fmt) date et heure locale de réception
du message
# %<fmt> date et heure locale courante
# %>X justifie la ligne à droite et complète
avec le caractère X
# NOTE: le caractère X peut être remplacé
par n'importe quel autre caractère
# %|X complète la ligne avec des X (ou tout autre
caractère)
set hdrs # inclut le contenu de la variable `my_hdr'
dans les messages envoyés (sauf les réponses)
set header # inclut l'entête du message d'origine lors de
l'envoi d'une réponse
set help # affiche la ligne d'aide
#set history=20 # nombre de lignes à conserver dans l'historique
# NOTE: l'historique est utile uniquement si vous avez désactiver
l'option `set autoedit'.
# Vous pouvez rappeler le contenu des champs avec les touches du curseur.
set hostname="netliberte.org" # votre nom de domaine
set include # inclut le message d'origine dans les réponses
set indent_string="> " # définit le marqueur pour délimiter
le message d'origine
#set locale="C" # locale to use for printing time (???)
#set mailcap_path="~/.mailcap:/usr/local/share/mailcap" # Chemin où
se trouve le fichier mailcap
# NOTE: Vous pouvez personnaliser ce fichier (~/.mailcap)
set mark_old # Marque les messages non lus depuis la dernière
ouverture de Mutt
set mail_check=10 # Délai de rafraîchissement de la boîte
aux lettres (en minutes)
set mbox=+mbox # définit le nom du dossier où seront
enregistrés les messages lus
#set metoo # supprime l'adresse de l'expéditeur lors
d'une réponse
set mime_forward # utilise le type RFC822 lors du forward d'un message
set move=yes # lorsque vous quittez mutt, cette option permet de
déplacer les messages lus sans poser de question
#set pager=less # vous pouvez ici définir les pages de votre
choix
#set pager_context=3 # nombre de lignes de contexte à conserver
lors d'un scrolling
# NOTE : Cette option n'est utile que si `set pager' a été
défini
#set pager_format=" %S % 20.20f %s" # format de
la barre d'état lorsque vous consultez un message
# NOTE: vous pouvez utiliser les mêmes variables que
pour `set hdr_format'
set pager_index_lines=6 # nombre de lignes d'index a afficher lorsque
vous consultez un message
#set pager_stop # ne passe pas au message suivant sur la prochaine page
#set pgp_strict_enc # use Q P encoding when needed for PGP (???)
set postponed=+postponed # mailbox où seront stockés les
messages que vous ne souhaitez pas envoyer immédiatement
#set post_indent_string=' Fin du message d'origine ' # utilisé
pour marquer la fin du message d'origine lors d'une réponse
#set print=ask yes
# demande une confimation avant d'imprimer le message
set print_command=/bin/false # définit la commande d'impression
#set prompt_after # demande la commande à exécuter lorsque
vous quittez la page externe
#set quote_regexp="^ *[a zA Z]*[>:#} ]" # permet d'identifier le
texte des messages précedents
set read_inc=25 # lorsque vous lisez votre mail, mutt vous affichera
tous les 25 (dans l'exemple) mails un message
# d'avancement
# dans la lecture de votre courrier. Vous pouvez indiquer la fréquence
que vous souhaitez. Si 0 est défini, mutt
# vous affichera un message AVANT la lecture de vos mails.
#set recall # si l'option est active, dés que envoyez un
nouveau mail, mutt vous propose automatiquement le
# message dont l'envoi avait été différé.
# dans le cas contraire, mutt demande si l'on veut ou non reprendre l'envoi
du message différé.
set record=+outbox # fichier où sont sauvegardés les
courriers expédiés
set reply_to
# utilise toujours le champ `reply_to' si il est présent
set reply_regexp="^(re:[ ]*)+" # le modèle contenu dans cette option
permet d'identifier une réponse dans un sujet
#set resolve # passe au message suivant lorsque qu'une action est
exécutée
#set reverse_alias # Remplace l'alias par l'adresse email
set reverse_name # utilise votre adresse telle qu'elle apparait dans le
message auquel vous répondez
set nosave_empty # Supprime les fichiers de sauvegarde ne contenant
pas (ou plus) de mesages.
#set save_name # Lors de la sauvegarde d'un message, cette option
propose automatiquement le nom de
# l'expéditeur comme nom de fichier.
#set sendmail="/usr/lib/sendmail oi oem"
# Paramétrage pour l'envoi des mails
#set shell="/bin/zsh" # shell à utiliser pour l'exécution
des commandes (lors de l'appui sur la touche !)
#set signature="~/.signature" # définit le fichier
qui contient votre signature
# Si vous êtes abonné à de nombreuses
mailing listes, les options suivantes vont vous être d'un grand
secours.
# Elles vont vous permettre de mieux suivre les discussions en les organisant
en thread et en les triant.
set sort=threads # Définit la première méthode
de tri. d'autres méthodes de tri sont possibles :
# date sent
par date d'envoi
# date received
par date de réception
# from
par expéditeur
# mailbox order
non triée, ou plus précisement par ordre d'arrivée
# score
(???)
# subject
par sujet
# threads
par thread
# to
votre adresse email (utile si vous en avez plusieurs)
# Tous les tris sont effectués par ordre croissant.
Vous pouvez effectuer des tri dans l'ordre décroissant en
# préfixant les options avec `reverse '.
# Exemple :
# tri dans l'ordre croissant des dates d'envois > set
sort=date sent
# tri dans l'ordre décroissant des dates d'envois >
set sort=reverse date sent
#set sort_aux=reverse date received # Définit le tri des
sub threads. Vous pouvez utiliser les mêmes méthodes de tri
que pour l'option `sort'set sort_browser=reverse date # Définit
la méthode de tri des fichiers lors de l'affichage du contenu d'un
répertoire
set spoolfile='~/mailbox'
# fichier où se trouvent les nouveaux mails
#set status_format=" %r Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F?
Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b? %l] (%s)
%> (%P) "
# Vous pouvez avec cette option paramétrer la barre d'état
qui se trouve par défaut au bas de l'écran.
# Pour se faire vous pouvez utiliser les mêmes variables que pour
l'option `hdr_format'
# set status_on_top # Si vous préférez la barre d'état
en haut de l'écran, activez cette option
# set strict_threads # Si vous ne souhaitez pas que vos thread soit triées
par sujet, activez cette option
set tilde # Marque les lignes vides (sans CR ni espace) dans l'éditeur
set timeout=600 # Ce délai permet à Mutt d'attendre 10 minutes
qu'une touche soit pressée. Passé ce délai il rafraichi
la # liste avec les nouveaux mails.
#set tmpdir=~/tmp # répertoire où seront placés les
fichiers temporaires
set to_chars=" +TCF" # Cette option vous permet d'identifier les
mails qui vous sont destinés :
# Le premier caractère identifie les mails qui
ne sont pas envoyés à votre adresse (défaut : [espace])
# Le second est utilisé lorsque vous êtes
le seul destinataire du message (défaut : `+')
# Le troisième repère les mails dont le
champ `To:' contient votre adresse, mais que vous n'êtes pas le
# seul destinataire.
# Le quatrième identifie les mails contenant
votre adresse dans le champ `cc:', mais vous n'êtes pas le # seul
destinataire.
# Le dernier caractère indique que le mail a
été envoyé par vous.
#set use_8bitmime # Active l'option B8BITMIME de sendmail
set use_domain # Qualifie votre adresse email avec le nom de domaine
contenu dans $hostname.
# si vous ne souhaitez pas qualifier votre adresse email, préfixez
l'option avec no (nouse domain).
set use_from # Renseigne toujours automatiquement le champ `From:' dans
l'entête des mails
set use_mailcap=yes # Trois choix sont possibles pour définir cette
option :
# yes : Utilise toujours les entrées du fichier mailcap lorsque
cela est possible pour afficher les entrées MIME.
# ask : Demande si l'affichage doit être fait en texte ou au format
MIME
# no : Affiche toujours les entrées MIME comme du texte
set pgp_verify_sig=no # no : ne vérifie pas automatiquement
les signatures PGP
# yes : vérifie automatiquement les signatures PGP
#set nowait_key # Après avoir executé une commande dans
le shell appellé par la touche `!', cette option vous permet de
# désactiver l'attente de touche.
set write_inc=25 # Lorsque vous écrivez un message, Mutt vous affichera
un message de progression
# toutes les 25 lignes.
# Les deux options qui suivent ne sont à utiliser que si vous utilisez
sendmail version 8.8.x ou supérieure, ou bien si vous ne
souhaitez # pas envoyer de courrier !
#set dsn_notify='failure,delay' # Cette option vous permet
de préciser pour quel(s) évènement(s) vous souhaitez
être prévenu. Vous pouvez
# spécifier
# plusieurs options parmi les suivantes,
séparées par une virgule.
# never Vous ne serez prévenu
pour aucun évènement
# failure Vous prévient lorsqu'une
erreur de transmission se produit
# delay Vous prévient lorsque
le délai d'expédition du message est dépassé
# success Vous prévient
lorsque le message a été correctement acheminé. (Accusé
de réception)
#set dsn_return=hdrs # Vous pouvez ici choisir ce que vous souhaitez recevoir
de votre message lorsque vous recevez une notification
# hdrs Renvoi uniquement l'entête
du message
# full Renvoi le message complet
# Les deux options suivantes n'agissent que sur l'entête
des messages
ignore * # ignore toutes les lignes d'entête
# La ligne suivante permet de choisir ce que l'on souhaite voir de l'entête.
# Dans l'exemple ci-dessous, ce sont des noms entiers d'options, mais
vous pouvez aussi specifier
# seulement `x', dans ce cas tous les champs commencant par x dans l'entête
seront affichés.
unignore from: subject to cc mail followup to date x mailer x url # Affiche
uniquement ces champs
# d'entête
# Paramétrage des couleurs
# Chaque ligne est composée de la manière suivante :
# color objet couleur_texte couleur_fond expression_regulière
# couleur_texte et couleur_fond sont obligatoire pour tous les objets,
expression_régulière ne l'est que pour certains objets.
# objet peut être :
# attachment couleur des fichiers
joints
# body couleur de la chaine trouvée
par expression_régulière (obligatoire) dans le corps du
message
# bold couleur des caractères
gras dans le corps du message
# error couleur des messages d'erreurs
renvoyés par Mutt
# header couleur de la chaine trouvée
par expression_régulière (obligatoire) dans l'entête
du message
# hdrdefault couleur par défaut
de l'entête dans l'éditeur de messages
# index couleur de la chaine trouvée
par l'expression régulière dans l'index des messages
# indicator couleur de la barre (ou
de la flèche suivant votre paramétrage) indiquant le message
en cours
# markers couleur du signe `+' lors
du passage à la ligne suivante pour une longue ligne dans l'éditeur
de message
# message couleur des messages d'information
de Mutt
# normal couleur par défaut
# quoted couleur du message de l'expéditeur
lors de l'envoi d'une réponse
# quoted1 couleur du message de second
niveau lors de l'envoi d'une réponse (vous pouvez aussi définir
quoted2, quoted3,
# ... etc)
# search couleur pour marquer les
occurences trouvées lors d'une recherche
# signature couleur de la signature
# status couleur de la ligne
d'état
# tilde couleur du `~' marquant les
lignes vides
# tree couleur de l'arborescence des
messages et des fichiers attachés
# underline couleur du texte souligné
# Les couleurs du texte peuvent être préfixées par
`bright', ce qui aura pour effet de rendre la couleur plus claire.
color normal white black # couleur par défaut
color quoted brightblue black # couleur du message de l'expéditeur
lors de l'envoi d'une réponse
color signature red black
# couleur de la signature
color indicator brightyellow red # couleur de l'index (message en
cours)
color error brightred black
# couleur des messages d'erreurs
color status yellow blue
# couleur de la ligne d'état
color tree magenta black
# couleur des flèches de l'arborescence des threads
color tilde magenta black
# couleur du `~' marquant les lignes vides
color message brightcyan black #
color markers brightcyan black #
color attachment brightmagenta black # couleur
des fichiers joints
color search black green
# couleur pour marquer les occurences trouvées lors d'une recherche
color header brightred black ^(From|Subject):
# couleur de l'entête des messages
color body magenta black "(ftp|http)://[^ ]+"
# couleur pour identifier les URL
color body magenta black [ a z_0 9.]+@[ a z_0 9.]+
# couleur pour identifier l'adresse e mail
color underline brightgreen black # couleur des mots soulignés
# Si votre terminal ne supporte pas la couleur, vous
pouvez utiliser les attributs suivants sur les mêmes objets que
pour un terminal couleur:
# none
aucun attribut
# bold
gras
# underlin souligné
# reverse
inverse vidéo
# standout
fait ressortir le texte
#mono header underline ^(From|Subject):
#mono quoted bold
# Exemple de modification de l'affectation des touches
bind generic "<" first entry #
bind generic > last entry #
|
bind generic { top page # >
utilisation de la même affectation que pour emacs
bind generic } bottom page # |
bind generic 77 last entry # /
macro index |urlview # simule l'ancienne fonction d'affichage des
URL
macro index S s+spam # définit le fichier par défaut
pour stocker les spams
macro pager S s+spam #
bind pager G bottom # Utilise G pour se placer en début
de message (comme vi et less)
#macro pager X "|morepgp^M" # transmet le message PGP
à un script
#bind editor eol # utilise ^Y pour aller à la fin de la ligne
# Définition de l'entête des messages que
vous expédiez :
my_hdr X Useless Header: Besoin d'un compte Linux ?
# vous pouvez intégrer un commentaire personnel
my_hdr X Operating System: `uname a`
# et aussi utiliser des commandes Linux. Ici, on affichera l'OS et sa
version
# Spécifie le nom du fichier par défaut
pour la sauvegarde des messages
# Syntaxe:
# save hook [!]<modèle>
<nom_du_fichier>
# <nom_du_fichier> est proposé par défaut lorsque vous
sauvegardez un message en fonction de <modèle>
#save hook mutt =mutt mail # le répertoire
par défaut des messages comprenant `mutt ' sera `mutt mail'
#save hook spammerorg +spam # celui des messages en provenance de `spammer.org'
sera `spam'
# Sauvegarde des messages après les avoir lus
# Syntaxe :
# mbox hook [!]<modèle> <lus mailbox>
# Après la fermeture de la boîte aux lettres <modèle>,
tous les messages lus seront déplacés dans le fichier <lus
mailbox>.
#mbox hook =mutt users.in =mutt users
#mbox hook +TEST +inbox
# Exécution d'une commande en fonction du destinataire
du message
# Syntaxe :
# send hook [!]<modèle> <commande>
#
# La commande <commande> est exécutée lorsque vous envoyez
un message à une adresse comprenant <modèle>.
#send hook mutt 'set signature=~/.sigmutt; my_hdr From: Mutt User <user@example.com>'
# Spécifie où seront sauvegardés
les messages envoyés
# Syntaxe :
# fcc hook [!]<destinataire> <fichier>
# tous les messages envoyés à <destinataire> seront sauvegardés
dans <fichier>.
#fcc hook joe +joe
#fcc hook bob +bob
# Modification du paramétrage de Mutt en fonction
de la boîte aux lettres
# Syntaxe :
# folder hook [!]<modèle> <commande>
# La commande <commande> sera exécutée lors de l'ouverture
d'une boîte aux lettres comprenant <modèle>
# dans son nom
#folder hook . 'set sort=date sent'
#folder hook mutt 'set hdr_format="%4C %Z %02m/%02N % 20.20F (%4l) %s"'
#folder hook =mutt my_hdr Revolution: 9 # real comment
#folder hook . 'set reply_regexp="^re:[ ]*"'
# Création d'alias
# Syntaxe :
# alias <nom> <addresse> [ ,
<addresse> ... ]
#alias moi Christophe Giraud <chris>
alias mutt dev Mutt Development List <mutt dev@cs.hmc.edu>
alias mutt users Mutt User List <mutt users@cs.hmc.edu>
alias mutt announce Mutt Announcement List <mutt announce@cs.hmc.edu>
alias wmaker WindowMaker Mailing List <wmaker@eosys.com>
alias lfm Linux France Magazine <diamond@pandemonium.fr>
# Boîte aux lettres à consulter pour l'arrivée
de nouveaux messages
# Syntaxe :
# mailboxes <path1> [ <path2>
... ]
mailboxes ! +mutt dev +mutt users +wmaker +chris
#mailboxes `echo $HOME/Mail/*` # Cette ligne consulte par défaut
toutes les boîtes que vous avez dans votre répertoire Mail
# Spécifie l'ordre d'affichage des champs de l'entête
lors de la consultation d'un message
# Syntxe :
# hdr_order <hdr1> [ <hdr2>
... ]
hdr_order date from subject to cc
# Identifie les mailing lists auxquelles vous êtes
abonné
# Syntaxe :
# lists <list name> [ <list name> ... ]
lists mutt dev mutt users
# Utilise automatiquement les entrées du fichier
~/.mailcap pour afficher les messages de type MIME
# Synatxe :
# auto_view <type> [ <type> ... ]
auto_view application/x gunzip
auto_view application/x gzip
# Attribution de points aux messages
# Syntaxe :
# score <modèle> <valeur>
# La commande score permet d'attribuer aux messages des points (<valeur>)
lorsque la chaine <modèle> est dans le message.
# Cela permet ensuite, par exemple, de classer vos messages par `score'
et d'obtenir ainsi une liste des messages avec en premier ceux qui
# ont le plusd'importance pour vous.
# Les valeurs 9999 -9999 sont spéciales car elles permettent de
s'arrêter sur le message concerné.
# Si vous préfixez la valeur avec le signe égal (=), la
valeur est assignée au message et le traitement s'arrête.
# La valeur final du message est la somme de toutes les valeurs ayant
été attribuées au message.
#score '~f ^me@cshmcedu$' 1000
#score '~t mutt | ~c mutt' =500
#score '~f spammerorg$' 9999
# Si vous utilisez Mutt sur plusieures machines différentes,
vous pouvez utiliser un fichier différent pour chacune d'elle comprenant
leurs
# paramètres spécicifiques.
source ~/.muttrc machine1
Cet article a été écrit par Christophe
Giraud de l'association Net Liberté