muttrc : configuration du client mail Mutt (multi-compte)

config muttrc : configuration du client mail Mutt (multi compte)Un peu en complément du dernier article, je ne reviendrais pas sur fetchmail, procmail ou msmtp, mais je ne resterai que sur la configuration du fichier muttrc.

Parce que ce fichier vaux largement un billet à lui tout seul (même plusieurs), et que j’ai refait sa configuration depuis le dernier article. On va voir également l’inclusion de lynx (pour les #&@¿! de mails en html) et d’un correcteur orthographique pour vim. (car même si j’essaye de faire des progrès en français…)

Introduction

Petit rappel pour ceux qu’y n’aurait pas suivis, nous sommes dans le cas où mutt n’est qu’un simple lecteur de mail, il n’y a aucun identifiant de connexion POP/IMAP/SMTP car ce n’est pas son rôle et que tout ça est relégué aux services décrit plus longuement dans le billet : Gestion multi-comptes de mutt avec fetchmail, procmail…

L’idée général va être de splitté un peu ce fichier, qui pourrait vite devenir très conséquent au fil de vos modifications. Comme ça, quand on souhaite rajouter (une boite mail par exemple) ou modifier (une macro, ou un hook) on ne perd pas de temps dans un fichier interminable.

mutt 300x187 muttrc : configuration du client mail Mutt (multi compte)

exemple de la configuration de mutt


J’essayerai autant que possible de tenir ce présent article à jour dans les évolutions de mes configuration.

Bien, passons au choses sérieuses !

muttrc (général)

Ce fichier ne contient plus qu’une cinquantaine de lignes, qui pourrai être splitté encore…

Je n’y ai laissé que vraiment les choses général, et bien sûr les renvoie au fichiers sources de configuration plus spécifique.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# ~/.muttrc
 
set spoolfile = "+gmail"
set postponed="+postponed"
 
# Utilisation du cache
#set header_cache=~/.mutt/cache/headers
#set message_cachedir=~/.mutt/cache/bodies
#set certificate_file=~/.mutt/certificates
 
set record="+envoye"
set envelope_from=yes
set sendmail="/usr/bin/msmtp"
set imap_check_subscribed
 
# Heures et dates françaises
set locale="fr_FR.UTF-8"
set charset="utf-8"     # character set for your terminal
set assumed_charset="utf-8"
set send_charset="utf-8:iso-8859-15:us-ascii"
 
# Mon éditeur fétiche
set editor='vim + -c "set textwidth=72" -c "set wrap" -c "set nocp" -c "?^$"'
 
# Utile lorsqu'on a plusieurs adresses mail
set reverse_name=yes
set reverse_realname=yes
 
### Commande spécifique pour le répertoire abook
set query_command = "abook --mutt-query '%s'"
macro generic,index,pager a "<shell-escape>abook<return>" "lance abook"
macro index,pager A "<pipe-message>abook --add-email<return>" "ajoute l'adresse de l'envoyeur à abook"
### FIN abook
 
# Commande spécifique pour lire les mails html avec lynx
set implicit_autoview
auto_view text/html  application/x-pgp-message
set mailcap_path="~/.mutt/mailcap"
### FIN lynx
 
source ~/.mutt/conf/mailboxes		# conf des boites mails
source ~/.mutt/conf/couleurs		# conf des couleurs
source ~/.mutt/conf/send-hook
source ~/.mutt/conf/folder-hook	
source ~/.mutt/conf/disposition         # conf de la mise en page/disposition
source ~/.mutt/conf/header		# défini la présentation des header dans un message
source ~/.mutt/conf/subscribe

Bien sûr je ne vais pas « lacher d’la conf » comme ça sans donner un peu d’explication !

Description du fichier muttrc

  • l. 6 à 9 (l. == ligne) j’ai commenté momentanément la mise en cache pour une bonne et simple raison, si vous faite des modifications de couleurs notamment, la mise en cache peut fausser ces modifications ! (je me suis fait avoir, en ne comprenant pas pourquoi j’avais exactement ce que je voulais :þ)
  • l. 11 à 20 quelques banalités, comme le répertoire d’envoi, les locales françaises…
  • l. 23 sert à aller à la ligne pour Vim afin de ne pas écrire de longue ligne, et rester plus dans des standards, ici réglé à 72 caractères par lignes (on pourrais prendre 80).
  • l. 26, 27 important lorsqu’on possède plusieurs comptes.
  • l 29 à 33 utilisation d’abook, (voir chapitre 7 du précédent article).
  • l. 35 à 39 utilisation de lynx pour lire les mails html (voir ci dessous pour une explication plus complète).
  • l. 41 à 47 voilà les différents fichiers de configuration de mutt. que j’ai rassemblé dans un sous-répertoire « conf » mais libre à vous. On va voir plus en détail chaque fichier. Bien sûr on peut en avoir plus/moins, dépend aussi de votre usage, notamment il manque encore la gestion des certificats, gpg…

Utilisation de lynx

Lynx est un des plus vieux navigateur html (le plus vieux ?) utilisable en console. Et c’est un clin d’œil à ce logiciel que Ubuntu Lucid Lynx 10.04 fait allusion avec son nom de version :þ.
Si vous ne l’avez pas encore, installez le.

il suffit donc, de recopier les lignes dans le muttrc comme indiqué ci-dessus, et de crée un fichier ~/.mutt/mailcap contenant ce qu’il suit :

text/html; lynx -dump -force_html  %s;  needsterminal; copiousoutput

Avec cela, plus de soucis pour interpréter les mails écrit en html !

Nous allons voir maintenant chaque fichier de configuration.

Couleurs

J’ai restructuré la disposition des couleurs qui dans mon ancienne configuration été… un bordel…
Normalement la disposition et les commentaires directement dans le fichier devrait suffire à comprendre où trouver ce que l’on veux modifier.

# Couleurs
# Configurations des couleurs de mutt
#
 
################
###  INDEX
################
 
# text colors - general functions
color normal	yellow		default				# normal text
color status	brightgreen	blue				# status bar, last and first row
color search	brightyellow	red				# search results
color message	brightyellow	default				# information messages, last row
color error	brightred	default				# error messages, last row
color markers	brightred	default				# the + sign at the start of broken lines
 
# text colors - message index and attachment menu
color indicator	red		default				# current message selected
color tree	brightred	default				# Threads' arrow
color index	brightwhite	default ~F			# important messages 	! flag - command "F"
color index	green		default ~N			# nouveaux messages	N flag - command "N"
color index	magenta		default ~T			# tagged messages	* flag - command "t"
color index	green		default ~U			# non-lu messages
color index	brightblue	default ~D			# messages supprimé     D flag - commands "d"/"u"
 
################
###  MESSAGE
################
 
# header de messages
#
color header 	brightyellow	default 	^(From):
color header 	brightwhite	default 	^(Subject): 
color header 	yellow		default		^(To): 
color header 	green	 	default 	^(Date): 
color header 	white 		default 	^(In-Reply-To):
color hdrdefault magenta	default
 
# attachement, URI, mail, signature
#
color attachment blue	 	default            		# attachments
color body	 brightblue 	default "(ftp|http)://[^ ]+"       # point out URLs
color body 	 cyan 		default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
color signature  brightblue 	default                 # the signature (after sigdashes)
 
# effet de style d'écriture
#
color bold 	 brightwhite 	default               # boldface text
color underline brightgreen default         # underlined text
color body brightgreen default " [;:]-*[)>(<|]"                                    # :-) etc...
color body brightgreen default " [;:][)>(<|]"                                    # :) etc...
 
#color error 	 brightwhite 	red                 # error messages
 
# Couleurs des quotes
#
color quoted    red 		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

Pas de grosse difficulté, juste comprendre que l’index, c’est les couleurs lorsqu’on ne lit que les en-têtes des messages, à l’entrée de votre boite mail, et les messages, ce sont les couleurs lorsqu’on lit directement ces messages.

Mailboxes

Ici, nous définissons les différents répertoires servant de boites mails afin que Mutt les reconnaisse. autant de mailboxes que de répertoires donc, pratique d’avoir ça dans un fichier, car si vous voulez en rajouter une, c’est vite retrouvé.

# mailboxes
# configuration des boites mails de mutt
 
alternates  ^mon\\.compte@gmail\\.com$ ^mon\\.autre@live\\.fr$ ^unedeplus@live\\.fr$ ^laderniere@nicosphere\\.net$
 
set folder = ~/Mail
 
mailboxes +gmail
mailboxes +sphere
mailboxes +spherelive
mailboxes +hotmail
mailboxes +spam
 
mailboxes +ml
mailboxes +mlblabla
mailboxes +arch-fr
mailboxes +arch-dev
mailboxes +arch-general

Ce fichier contient également les boites mails de vos listes de diffusions. Rien de bien compliqué, « alternates » étant expliqué plus en détail dans le dernier article.

Header

Ici on définit les headers affiché lorsqu’on lit un message. le principe est, on les ignore tous, puis on dé-ignore ceux que l’on souhaite, enfin, en entre dans une variable l’ordre dans lequel on souhaites qu’il apparaisse.
J’en ai laissé pas mal de commenté dans le cas où il vous intéresserai de les décommenter.

# header
 
# On ignore tout
ignore *
 
# Puis on un-ignore ce que l'on souhaite
 
unignore From:
unignore To:
unignore Reply-To:
unignore Mail-Followup-To:
unignore Subject:
unignore Date:
#unignore Organization:
unignore Newsgroups:
unignore CC:
unignore BCC:
#unignore Message-ID:
#unignore X-Mailer:
unignore User-Agent:
#unignore X-Junked-Because:
#unignore X-SpamProbe:
#unignore X-Virus-hagbard:
#unignore X-Spam-Status
#unignore X-Grouchosity
#unignore X-Bogosity
 
 
hdr_order Date: From: Subject: To: Cc: Reply-To: Mail-Followup-To Newsgroups: User-Agent:

Encore une fois, rien de compliqué, mais c’est toujours agréable d’avoir tout ce « bordel » dans un fichier séparer, car une fois qu’on souhaite affiné les réglage, on va directement là où l’on souhaite, sans fioritures pour déstabiliser :þ

Disposition

C’est un peu la mise en page de tout ça, la disposition. dans ce fichier, des détails qui on leur importance.

# disposition
 
#différent formats indiqué
set attribution="* %n <%a> [%{%Y-%m-%d %H:%M:%S %Z}]:\n"
set folder_format="%N %f %F %s %t"
set index_format="%4C %Z  Exp: %-30.30f    Suj: %-30.30s %b %d %-15.15L (%?l?%4l&%4c?)"
set pager_context=3
set nostrict_threads
set date_format="%A %d %b %Y à %H:%M:%S (%Z)"
 
# permet lorsqu'on lit un mail de toujours avoir 
# une liste affiché en haut dans une 2ème fenêtre
set pager_index_lines=9
 
# permet d'avoir les threads, et arbre en places
set sort=threads
set sort_aux = last-date-received
 
# les citations
set attribution="Le %d, %n a écrit :"
set forward_format="[Re: %s]"
set forward_quote
 
#Une signature (que je ne met pas)
#set signature="~/.mutt/.signature"

Les lignes sont commentées pour plus de simplicité, plusieurs détails quand même :

  • folder_format et index_format servent à la disposition des informations notamment pour l’index, pour plus de détail, sur ce qu’on peut afficher, ou la signification de chaque variable, le mieux c’est de se référer à la documentation officiel.
  • Ici sort=threads permet classer par fil de discussion. et c’est défini comme règle général, mais on peut, avec un folder-hook n’appliquer cette règle que pour les boites mail contenant les listes de diffusions. (ce que je vais sûrement faire par la suite)

Les hooks

folder-hook

Permet de définir en fonction du répertoire les règles à appliqué, ici c’est le choix de l’adresse mail, mais ça pourrais très bien comme dit plus haut, spécifier des règles pour les listes de diffusions.

# folder-hook
 
folder-hook . 'my_hdr From: Nicolas Paris <blablabla@gmail.com>'
folder-hook sphere 'my_hdr From: Nic0 <blablablaagain@nicosphere.net>'

Je ne m’attarde pas là dessus non plus, car vu dans le précédent article.

send-hook

# send-hook
 
 
send-hook .				'set sendmail="/usr/bin/msmtp"'
send-hook "~f ^blabal@nicosphere\\.net$"  'set sendmail="/usr/bin/msmtp -a ovh"'

Encore une fois, vu dans le précédent article, et je n’utilise que deux adresses mails pour envoyer des messages (j’en reçois sur 4 ou 5 je crois :þ)

Subscribe

Permet de définir les listes de diffusions afin de profiter de fonctionnalité de Mutt.

# subscribe
 
subscribe arch-dev-public
subscribe arch-general
...
...
...

Vérificateur orthographique

Petit bonus à tout ce qu’y a été dit jusque là, cela permet d’afficher en rouge les mots mal orthographier.
Sous Archlinux:
yaourt -S vim-spell-fr
Puis dans votre .vimrc on rajoute :
set spelllang=fr
Enfin faite pour vérifier l’orthographe un :
:set spell

Conclusion

Voilà une configuration qui n’est très certainement pas achevé ! Il est évident qu’elle sera modifier encore avec l’expérience de l’utilisation, l’affinement de certain détail (dont j’en ai déjà en tête :þ). Et la route vers un Mutt parfait à son usage est longue.

Mais en aillant structuré la configuration un minimum comme cela, il est plus facile d’y revenir jusqu’à obtenir quelque chose de très personnalisé !

J’espère qu’avec ces deux articles (avec le précédent), même si vous n’avez pas migré vers une tel configuration de messagerie, cela vous aura montré les possibilités très vaste d’une tel mise en place, et peut être moins compliqué qu’il puisse parraître au premier abord.mutt 300x187 muttrc : configuration du client mail Mutt (multi compte)mutt 300x187 muttrc : configuration du client mail Mutt (multi compte)

Articles en rapport:

Pas encore de commentaire.

Ajouter un commentaire

XHTML: Vous pouvez utiliser ces balises: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">