# ~/.muttrc
# Fichier de configuration de Mutt
# Formation Debian GNU/Linux par Alexis de Lattre
# http://formation-debian.via.ecp.fr/
# Plus d'information dans "man muttrc"
#
# 1. Configuration générale
#
# Le contenu du champ From est généré à partir du nom complet etde
# l'adresse électronique de l'expéditeur, généralement de la forme :
# From: Prénom Nom <adresse_e-mail>
# L'adresse électronique d'expéditeur (par défaut, le contenu de la
# variable d'environnement EMAIL ou le login@hostname)
set from="robert.dupont@laposte.net"
# Le nom complet d'expéditeur (par défaut, le champ nom complet de
# /etc/passwd)
set realname="Robert Dupont"
# Mutt doit générer un en-tête from. Contraitement à ce que raconte
# le manuel, c'est désactivé par défaut !
set use_from
# Liste de toutes mes adresses e-mail (ce paramètre est notamment pris
# en compte quand on fait un "group reply")
alternates robert.dupont@laposte.net rob@truc.fr roberto@fun.org
# Lorsqu'on répond à un message, utiliser l'adresse à laquelle l'original
# a été envoyé comme From:.
set reverse_name
# Nom de domaine du système où tourne Mutt.
# Il est utilisé pour :
# - compléter les adresses électroniques incomplètes (sans @domaine) ;
# - générer les en-têtes Message-Id.
# Par défaut : le contenu de /etc/mailname.
set hostname=laposte.net
# Doit-on compléter les adresses incomplètes avec ce domaine ?
set use_domain
# Le fichier contenant la signature
set signature=~/.signature
# Le fichier contenant les alias
set alias_file=~/.aliases
source ~/.aliases
# Conseillé pr que "isync" marche bien avec les messages effacés
#set maildir_trash
#
# 2. Configuration des mailboxes
#
# Le répertoire qui contient les mailboxes
set folder=~/mail
# On utilise le format "Maildir" pour les mailbox
set mbox_type=Maildir
# Pour avoir la liste des mailboxes, on demande à find(1) de lister
# les mboxes et les Maildirs, c'est-à-dire :
# - les répertoires parents des répertoires nommés 'cur' ;
# - les fichiers réguliers non enfants de répertoires nommés 'cur',
# 'new' ou 'tmp' (sinon, ça listerait comme boîtes aux lettres
# tous les messages contenus dans les Maildirs).
# Si vous ne comprenez pas comment ça marche, essayer d'exécuter cette
# commande, modifiez-la pour voir tout en regardant le manuel de find(1).
# :-)
mailboxes `find ~/mail -type d -name 'cur' -printf '%h ' -prune -o -type d -name 'new' -prune -o -type d -name 'tmp' -prune -o -type f -printf '%p '`
# Ne pas lister les boîtes de messages envoyés et ajournés
unmailboxes '+sent' "+postponed"
# Mailbox contenant les mails envoyés (chemin relatif)
set record=+sent
# Mailbox contenant les mails ajournés (chemin relatif)
set postponed=+postponed
#
# 3. Options
#
# Editeur de texte pour la rédaction des messages
set editor="vim -b -c 'set textwidth=72' +/^$ ++1"
# Jolis titres dans son terminal
set xterm_set_titles=yes
set xterm_title="Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"
# Ne pas afficher les headers...
ignore *
# sauf un certain nombre que l'on énumère ici
unignore From To Cc Subject Date Reply-To
unignore X-Mailer User-Agent
unignore X-Approved-By List-Id X-List
unignore Disposition-Notification-To Return-Receipt-To
# Ordre d'affichage des headers
hdr_order Date From To Cc Subject
# Utilise l'adresse figurant dans le champ Reply-To: quand on répond
set reply_to
# Locale à utiliser
set locale=fr_FR.UTF-8
# Codages à utiliser
set charset=utf-8
set send_charset=utf-8
# Format de la date à afficher avant les citations quand on répond
set date_format="%A %d %B %Y à %I:%M:%S%p"
# Les texte à afficher avant les citations quand on répond
set attribution="Le %d, %n a écrit :"
# Répond sans demander confirmation du destinataire et du sujet
# avant de passer à l'édition du message
set fast_reply
# Inclu le message original dans la réponse sans demander confirmation
set include=yes
# Ne pas aller au message suivant quand on a atteint la fin du
# message précédent et que l'on invoque la fonction "next page"
set pager_stop
# Afficher 6 lignes de la liste des messages en haut de l'écran
# quand on lit un mail
set pager_index_lines=6
# Méthode de tri par défaut = par thread
folder-hook . set sort=threads
# Les thread sont triés par date
folder-hook . set sort_aux=date
# La mailbox "sent" est triée par date
folder-hook "sent" set sort=date
# Affiche le nom d'expéditeur contenu dans ~/.aliases
# si l'adresse e-mail se trouve dedans
set reverse_alias
# Tenir compte du header "Mail-Followup-To"
set honor_followup_to
# Pas de beep en cas d'erreur
unset beep
# Pas de beep quand un nouveau message est arrivé
unset beep_new
# Ne pas demander confirmation avant d'effacer un message en quittant
# une mailbox (sinon, mettre "ask-yes")
set delete=yes
# Editer les headers quand on compose le message
set edit_hdrs
# Ne se fie pas au champ "Subject" pour construire les threads
# mais uniquement aux champs "In-Reply-To" et "References"
set strict_threads
# Ne marque pas un nouveau message comme "vieux" quand on quitte la mailbox
# dans laquelle il se trouve
unset mark_old
# Pas de marker pour les lignes wrappées
unset markers
# Faire-suivre un message en l'attachant au format MIME
set mime_forward
# Format de sujet pour les messages que l'on fait suivre
set forward_format="[%a: %s]"
# Format de l'index des messages
set index_format="%4C %Z %{%b %d} %-15.15F (%4l) %s"
# Adapte l'adresse mail dans le From en fonction du destinataire (décommenter)
#send-hook '~t ^.*@via\.ecp\.fr$' 'my_hdr From: Robert Dupont <robert.dupont@via.ecp.fr>'
#send-hook '~t ^toto@free\.fr$' 'my_hdr From: Robert Dupont <robert.dupont@free.fr>'
#
# 4. Binding des touches
#
# Generic
bind generic \eOH first-entry
bind generic \eOF last-entry
bind generic <up> previous-entry
bind generic <down> next-entry
bind generic <pageup> previous-page
bind generic <pagedown> next-page
# Index
bind index s save-message
bind index \t next-unread
bind index b bounce-message
# Pager
bind pager e exit
bind pager s save-message
bind pager \t next-unread
bind pager b bounce-message
bind pager \eOH top
bind pager \eOF bottom
bind pager n search-next
bind pager <up> previous-line
bind pager <down> next-line
# Macros
macro index G c?\t
macro pager G c?\t
macro generic <f2> "!mailq"
macro pager <f2> "!mailq"
macro generic <f3> "!postqueue -f"
macro pager <f3> "!postqueue -f"
macro generic <f4> "!fetchmail"
macro pager <f4> "!fetchmail"
# Pour les utilisateurs de "isync", en remplacement des deux lignes
# précédentes
#macro generic <f4> "!isync -a"
#macro pager <f4> "!isync -a"
#
# 5. Les couleurs
#
# Couleur de la barre de sélection
color indicator brightyellow red
# Couleur des messages d'erreur
color error brightred default
# Couleur des indicateurs en haut et en bas de la fenêtre
color status brightwhite blue
# Couleur de l'arbre des threads
color tree brightmagenta default
# Couleur des headers
color header white default "^date:"
color header brightgreen default "^from:"
color header brightwhite default "^to:"
color header brightblue default "^cc:"
color header brightyellow default "^subject:"
color header cyan default "^resent-"
color header cyan default "^x-"
color header cyan default "^User-Agent"
# Couleur du texte cité
color quoted green default
# Couleur de la signature
color signature brightred default
# Couleur des URLs
color body magenta default "(ftp|http|gopher|wais|file)://[^ ()<>,]+"
# Couleur des adresses e-mail
color body magenta default "[-a-z_0-9.]+@[-a-z_0-9.]+"
# Couleur des smileys
color body brightyellow default "[:]+[-^o]?[])>}D]+"
color body brightgreen default "([:;]+[-^o]?[Pp]+)|([;][-^o]?[])>}D]+)"
color body brightred default "[:;]+[-^o]?[[(<{|/\\]+"