CULTE
03 Juillet 2004
Mutt
et sa configuration
(page 1)
Introduction
Avant-propos
- Simple utilisateur
- Convention
- «:» -> :commande
- «$» -> $variable
Objectifs
- Personnalisation
- Interaction
(page 2)
Sommaire
- Qui suis-je ?
- Qui sont-ils ?
- Les boites
- Recherches
- Hooks
- Attachement
- GnuPG
- Divers
- Références
(page 3)
Qui suis-je ? 1/2
Identité
- set realname = 'Luc Hermitte' # def. GECOS de /etc/passwd
Adresse
- ... par défaut
- set from="Luc Hermitte <hermitte@free.fr>"
- redéfinissable avec
- my_hdr From: Luc <hermitte@free.fr>
- ou (pour l'@ sous laquelle on est interpellé)
Enveloppe
- Pour se forcer à utiliser l'@ des entêtes
(page 4)
Qui suis-je 2/2
Plusieurs identités ?
- Il faut répondre avec la bonne
- :alternates regex [regex] # v 1.5.6+
- :set alternates = (regex|regex|...) # avant
- alternates (hermitte|isyfur)@free.fr
- alternates root
Signature
- C'est une séquence envoyée au shell ou un fichier
- set signature="echo 'Luc Hermitte'|"
- set sig_dashes # les '-- \n' réglementaires
Copie de nos propres messages ?
- Non, je ne veux pas être en copie !
(page 5)
Qui sont-ils ? 1/1
Alias
- Format (défini où l'on veut)
- :alias clé adresse [,adresse, ...]
- :unalias [*|clé ...]
- Emplacement quelconque
- source /usr/local/share/Mutt.aliases
- source ~/.mailrc/aliasses_file # où ils sont définis
- set alias_file = ~/.mailrc/aliasses_file # où ajouter
- Saisie dans les champs To:, Cc:, Bcc:, Reply-To:
- «<tab>» => expansion, éventuellement menu
- Avoir le nom associé à une adresse en clair
- Ajout avec «a»
(page 6)
Qui sont-ils ? 2/2
Utilisation d'un carnet externe
- ex: abook, ldbd, ldap, ...
- Toujours les fichiers "sourcés" qui sont utilisés!
- Interrogation avec «Q»
- set query_command="abook --mutt-query '%s'"
- Ajout -> mettre à jour l'association sur «a»
- macro index a "C$HOME/temp/mutt4abook\n\n!abookadd.pl\n" "create an alias from a message sender"
Trace de la correspondance
- Copie des messages émis dans =nom_dest
- Ou si ailleurs si fcc-hook défini
- :fcc-hook [!]<pattern> <mailbox>
- fcc-hook mutt =_info/mutt
(page 7)
Les boites 1/2
Raccourcis (extraits)
- $spoolfile -> «!» : messages entrants
- $mbox -> «>» : messages lus
- $folder -> «=» ou «+» : emplacement par défaut pour les mailbox
Boites explicitement définies
- Où l'on reçoit des mails
- mailboxes ! # ! <=> $spoolfile
- mailboxes =_in/mutt =_in/vim # parce que procmail
(page 8)
Les boites 2/2
Formats de boites locales
- mbox, MMDF (comme mbox, mais avec 4 ^A avant et après),
- MH : chaque mailbox est une répertoire
- Maildir : comme MH, mais avec 3 réps de plus: tmp, new et cur
Boites "distantes" : imap, pop3
- Définissables comme des mailbox
- mailboxes imap://localhost/mutt/ # mutt/ le sous répertoire
- mailboxes imap://mutt@localhost/ # mutt/ l'utilisateur
- mailboxes imap://vim:pw@localhost/ # user: vim, passwd: pw
(page 9)
Recherche
Dans la mailbox courante
- Recherche «/» «n(ext)»
- Marque (taggue) suivant pattern «T»
- Doc § 4.2: patterns de la forme tilde-qqch
- ~N (new) ; ~f USER ; ~e EXPR (sender) ; ~F(laggud) ; ~b(ody) ; ...
- ~N ~f toto : nouveaux messages de toto
Dans toutes les mailbox
- Pas de recherche récursive dans des Maildirs
- grep
- mairix : qui rempli un Maildir virtuel de liens symb
- swish++ : indexe des Maildirs et en génère des virtuels
- Pour les mbox
- grepmail & grepm (wrapper)
(page 10)
Mailing-lists
Version puriste:
- lists mutt-users-fr # on déclare la connaître
- Pas de réply-To: positionné par le robot
- «r» -> répond au posteur
- «g» -> à tout le monde posteur et liste
- Souscription
- subscribe mutt-users-fr # on dit y être inscrit
- => «L» -> ne répond que sur la liste
- Mail-Followup-To:
- Pas de doublons des messages que l'on envoie
- Pour recevoir une réponse en PV même si on n'est pas inscrit
- $followup_to (yes/no) -> généré sur les messages sortants
- $honor_followup_to -> pour respecter Mail-Followup-To:
(page 11)
Traitements automatiques: les hooks
Présentation
- :{type}-hook <pattern> <action>
Types
- folder, mbox : se contentent de regex
- fcc, reply, send, message, save, fcc-save : acceptent des patterns §4.2
Détection
- Règles par défaut d'abord
- Règles spécialisés ensuite
- doivent reprendre toutes les règles par défaut
(page 12)
Les hooks : exemples 1/2
Mots de passes et comptes
- Règle par défaut, obligatoire, et à mettre en premier
- account-hook . 'unset imap_user ; unset imap_pass ; unset tunnel'
- Règles spécialisées
- account-hook imap://localhost/ 'set imap_user="Luc" ; set imap_pass="none"'
- account-hook imap://mutt@localhost/ 'set imap_pass="None"'
- account-hook imap://imap.free.fr/ 'set imap_user="hermitte" ; set imap_pass="mot2pass"'
(page 13)
Les hooks : exemples 2/2
Entêtes spécialisés suivant les destinataires
- Les règles par défaut
- send-hook . unmy_hdr From:
- send-hook . set signature="echo 'Luc Hermitte'|"
- Les règles spécialisées
- send-hook vim unmy_hdr From:
- send-hook vim set signature="echo 'Luc Hermitte' ; echo 'http://hermitte.free.fr/vim/' |"
- send-hook scape my_hdr From: Luc <hermitte@free.fr>
- send-hook scape set signature="echo 'Luc'|"
(page 14)
Attachements : généralités
Manipulation manuelle :
- accès -> «v»
- puis, («;t»ag) «s»ave, ouverture (entrée) , «f»orward
- «;» nécessaire si $auto_tag n'est pas positionné
Manipulations automatisées
- Ouverture -> mailcap, $implicit_autoview, :auto_view
- Réponse -> :alternative_order
- Forward sous forme MIME ou pas ?
- $mime_forward = [yes, no, ask-yes, ask-no]
(page 15)
Attachements: exemples
HTML
- mailcap
- text/html; w3m %s; needsterminal; description=HTML Text; nametemplate=%s.html
- text/html; w3m -dump %s; copiousoutput; description=HTML Text; nametemplate=%s.html
- Visualisation automatique
- Réponse à partir de la version texte si elle existe
- alternative_order text/enriched text/plain text
(page 16)
GnuPG & Mutt : Configuration 1/3
Préparation
- /usr/(local/)doc/mutt/PGP-Notes.txt
- Trouver gpg.rc ou /etc/Muttrc et adapter si besoin
- p.ex. ajout de «--keyserver pgp.mit.edu» après «pgp»
Associer une clé à un destinataire
- pgp-hook [pattern] [keyD]
(page 17)
GnuPG & Mutt : Configuration 2/3
Options utiles
- Toujours signer
- Signer automatiquement les réponses à des messages signés
- Chiffrer automatiquement ... chiffrés
- Qui signe
- A partir de la v 1.5.4 (?), utiliser $crypt_xxxxx
(page 18)
GnuPG & Mutt : Utilisation 3/3
Message sortant
- Menu PGP
- «p(gp)» «s(signer) / c(chiffrer)» (mot de passe) («y(es) send»
Message entrant
- Vérifier (flag s->S)
- Déchiffrer (flag s->S)
- mot de passe requis : car
JE suis ciblé
Note
- Le mot de passe n'est demandé qu'une fois par session, sauf si
- set pgp_timeout=3000 # oublie après 1h
- «<c-f>» pour oublier dessuite
(page 19)
Divers
Entêtes personnalisés
- :my_hdr <entête>: <valeur>
L'accusé de réception
- (sendmail 8.8 + requis)
- Demander des AR suivant la situation
- set dsn_notify="failure,delay,succes"
- Quantité du message original reçu via l'AR
- set dsn_return = "hdr" # / "full" / ""
La correction
- Demander à l'éditeur
- Laisser mutt s'en charger
- set ispell = "aspell" # defaut: /usr/bin/ispell
(page 20)
Divers
urlview
- macro index ,\Cb |urlview\n "Extract a URL, and queue for later download"
- macro pager ,\Cb |urlview\n "Extract a URL, and queue for later download"
L'éditeur
- $editor (fork /not fork)
- $edit_headers ; permet d'entrer des alias/gens dans To:, Cc:, Bcc:, Reply-To:
- my_hdr X-Operating_System `uname`
(page 21)
(page 22)
Des questions ?