--- title: MailMitMutt kind: wikiarchive ---

## Konfiguration von mutt für Einsteiger und Fortgeschrittene

Nach unserer Diskussion auf der Mailingliste möchte ich Euch hier ein paar Tips geben wie ich mutt zum Mailen benutze. Ergänzungen von anderen sind gern gesehen, da ich auch nicht alles weiß und nutze.

Wir sollten uns langsam überlegen, die Seite aufzusplitten, sie wird unübersichtlich

-- JoergHoh - 12 Aug 2005

- Konfiguration von mutt für Einsteiger und Fortgeschrittene
  - Grundlegendes
  - Mails versenden/Bedienung
  - Geschicktes bei der Mailverarbeitung
  - Nützliches im .muttrc
  - Kleine Gemeinheiten
  - Aufsplitten der Konfigurationsdatei
  - Aliase/Adressbuch (sonst wird man ja verrückt! ;-))
  - Verschiedene Folder
    - Folder Liste
  - List reply
  - procmail/xmultibiff (wie kommen die Mails in die Folder)
    - Generelles
    - SpamAssassin
    - Einsortieren von Mails in verschiedene Folder
    - Weiterleiten von speziellen Mails

-- PrinCess - 25 Jul 2005

### Grundlegendes

Nach der Installation auf dem Unix/Linux Deines Geschmacks findet man /etc/Muttrc mit den Default-Einstellungen, die gar nicht so dumm sind. Also nicht gleich dran rumschrauben ;-) Und wenn, dann nur in $HOME/.muttrc, außer man will alle User seines Rechners gleich mit beglücken.

Fast alles, was nun kommt gehört ins $HOME/.muttrc oder Files, die von diesem eingelesen werden.

- Absenderadresse einstellen
  Im Normalfall wird ein ordentlich eingestellter MTA auf einer Unix/Linuxkiste einen vernünftigen Absender für jeden User generieren. Wer sich darauf lieber nicht verlassen will, stellt seine Absenderadresse selber ein:
  *my_hdr From: Andrea Wardzichowski <andrea+nase@shuttle.de>*
  Laut Doku wird mittlerweile
  set realname="Joerg Hoh"
  set from="blafasel@irgendwas.invalid"
  präferiert. Damit muss man nicht mehr explizit den Header überschreiben.
  -- JoergHoh - 25 Jul 2005

- Absenderadresse auch im Envelope
  Damit die oben eingestellte Adresse auch im Envelope erscheint, wählt man
  set envelope_from=yes

- Signature
  Man erstelle ein Signaturfile (max. vier Zeilen, vollständiger Name sollte enthalten sein) und binde es ein
  set signature="~/meine.hauptsig"

### Mails versenden/Bedienung

- mutt aufrufen
  Standard ist, daß mutt in /var/spool/mail/username nach Mails guckt. Da liegen sie heutzutage aber gar nicht mehr, das macht aber nix. In dem Fall ruft man
  mutt -f /da/wo/die/mails/liegen

- Mailversenden: m
  Man wird nach dem Adressaten gefragt. Einfacher gehts nicht.

- Mail Editieren
  Lieblingseditor einstellen (s.u.) wenn was komisches hochkommt ;-))

- Abspeichern im Editor
  sodann gelangt man zum abschließenden Menü, daß einem erlaubt
  c) CCs einzugeben
  b) Bccs einzugeben
  f) im Feld Fcc ein file anzugeben, wo die Mail hingespeichert werden soll
  r) Reply-to: zu setzen (listen!)
  a) Attachments anzufügen
  q) quit/Abbruch
  e) doch lieber nochmal zu editieren
  y) Mail versenden.

Ich denke ab dieser Stelle sollte man Mails versenden können, nun zu den Specials im .muttrc, die das Leben einfacher machen.

### Geschicktes bei der Mailverarbeitung

- Mit t wie tag kann man Nachrichten, die man zusammen verarbeiten will, markieren. Es erscheint ein * (Stern) im Index.

- Mit T (Groß-T) kann man zum markieren ein Textmuster angeben (Autor, Subject)

- Taggen nach Datum, z.B. alte Logmeldungen:
  T (Groß-T)
  ~d >30d # ~d bezieht sich aufs Datum, >30d heißt älter als 30 Tage

- Getaggte Nachrichten verarbeiten: ; (semikolon)
  Tippt man im index ; (Semikolon) bezieht sich das darauffolgende Kommando auf die getaggten Nachrichten, z.B.
  s) speichern
  C) kopieren, aber auch
  r) reply
  f) forward
  b) bounce!

- Sortierung der Mails in der Anzeige
  Nicht zu verwechseln damit, wie die Mails gespeichert werden!
  Neueste Mails zuoberst anzeigen: set sort=reverse-date-received (nehme ich gern für den Privatfolder)
  Mails in Threads anzeigen: set sort=threads (für Listen unerläßlich!)
  Umschalten der Sortierung im laufenden Betrieb: o für Options.

-- PrinCess - 26 Jul 2005

### Nützliches im .muttrc

- Umlautkodierung
  set send_charset=us-ascii:iso-8859-1:iso-8859-15:utf-8
  set charset=iso-8859-15
  set allow_8bit

- Einleitung des Quotings: "On Mon, Jul 25, 2005 at 03:41:23PM +0200, Name wrote:"
  set attribution="On %d, %n wrote:"

- Lieblingseditor einstellen (sehr wichtig!)
  set editor="vi"

- Alle herausgehenden Mails sichern
  set record=/pfad/zum/gigantischen/mailfile
  Wenn man seine herausgehenden Mails nicht im gleichen Folder sichert (kommt weiter unten), dann kann es sinnvoll sein, sie wenigstens alle in ein File zu schreiben, dann muß man zwar wenn man etwas sucht, einen großen Folder durchsuchen, aber es geht wenigstens nichts verloren.

- Forwards kennzeichnen
  set forw_format="%s (fwd)"

- postpone/nicht abgeschickte Mails sichern
  set postpone=yes
  set postponed=/pfad/zum/postpone/file Manchmal tippt man eine Mail und dann ist doch noch etwas unklar. Damit nicht alles verlorengeht, geht man im Absendemenü auf "q", dann wird die Mail mit den o.g. Einstellungen in den passenden Folder geschrieben. Wiederholen mit Ctrl-R.

- Header anzeigen
  Im normalen Betrieb möchte man nicht immer alle Mailheader (inkl. Received-Header) sehen. Man beschränkt sich also, kann sich aber mit "h" alle Header zu jeder Zeit ansehen:
  ignore * # erstmal alles ignorieren, dann einzelnes herausgreifen
  unignore Subject:
  unignore From
  unignore Date:
  unignore To:
  unignore CC:
  unignore Reply-To:
  (ist natürlich auch Geschmackssache)

- Bouncen und back
  ... fängt dummerweise beides mit B an. Um in der Mailübersicht (index) eine Mail mit b zu bouncen und innerhalb einer Mail (pager) mit b wie back eine Seite zurückzublättern, stellt man ein:
  bind pager B bounce-message # groß B bounct
  bind pager b previous-page # klein b blättert innerhalb der Mail
  bind index B bounce-message # im index soll B bouncen

- mutt und pop3
  Auch ziemlich einfach, POP3-Server und Username angeben:
  set pop_host="mein.pop.server.bla"
  set pop_user="lusername"
  Mail abholen dann mit G (Groß-G), dann wird das PW abgefragt.

- Es gibt noch eine ganze Menge mehr, was man alles einstellen kann, das ist auch Geschmackssache. Am besten an dieser Stelle dann wirklich einmal googeln, viele Leute haben ihr .muttrc ins Netz gestellt.

### Kleine Gemeinheiten

- Doofe HTML-Mails
  Wer sich schon immer darüber geärgert hat, daß Leute HTML versenden statt Plain ASCII, kann zumindest OE-User ärgern indem er folgende Zeile in den Header einfügt, der dann von OE angezeigt wird:
  my_hdr X-message-flag: Please send plain text messages only. Thank you.
  (auch wenn einen sowas als mutt-User gar nicht mehr so juckt, weil mutt es vernünftig verarbeitet)
  Gefunden in d.a.s.r

- Re: AW: Re: Re: AW: AW:
  (gah!)
  Eine vernünftige Antwort lautet "Re: Subject". Nix anderes. Korrigieren kann man das leicht und automagisch durch
  set reply_regexp="^((re([\[^-][0-9]+\]?)*|aw|antwort|antw|wg):[ \t]*)+"
  Gefunden bei delta. Danke!

### Aufsplitten der Konfigurationsdatei

Mutt kann seine Konfigurationsdatei auch unter $HOME/.mutt/muttrc finden, so daß man weitere notwendigen Daten, die zu mutt gehören, ebenfalls unter $HOME/.mutt ablegen kann. So ist es möglich, in der muttrc weitere Dateien mittels source $HOME/.mutt/mailboxes nachzuladen (das hat Sinn, wenn man beispielsweise die Liste der Mailboxen in einer extra Datei pflegen will).

-- JoergHoh

### Aliase/Adressbuch (sonst wird man ja verrückt! ;-))

Die einfachste Art, eine Adresse als Alias abzuspichern ist Cursor im Index auf die Mail bewegen, a drücken. Im Folgenden fragt mutt nach dem Aliasnamen (ich nehm da gerne Nicks), Mailadresse und Realname und schlägt vor, was er in der Mail findet. Zum Schluß wird gefragt, wo hingespeichert werden soll, da ist $HOME/.mutt/aliases eine gute Wahl.

-- PrinCess - 26 Jul 2005

### Verschiedene Folder

Um hier nochmals die Vorteile verschiedener Folder/Mailboxen zu erwähnen: man kann Systemmeldungen von verschiedenen Mailinglisten separieren und je nach Folder Absender und Signature, Reply-To und wohin eine gesendete Mail gespeichert werden soll, detailliert einstellen.

Ganz wichtig: passendes From. Auf diese Weise sendet man an Listen immer mit der Mailadresse, mit der man auch subscribed ist und erspart dem Listenadmin Arbeit. Beruflich kann es auch nützlich sein, einen Role-Account zu verwenden, z.B. hostmaster@... oder hotline@... So kommt der Kunde/Mailpartner nicht auf die Idee, an private Adressen zu senden (und man selber ist dann auf Dienstreise oder im Urlaub oder krank).

Nehmen wir also an, die Mails würden mit procmail in ein Verzeichnis geschrieben, dort jeweils in einen Folder (eine Datei). Für den Mailempfang mit Maildir (Verzeichnis statt Folder und eine Datei pro Mail) müsste es aber ähnlich gehen.

Wir binden die Folder-Konfigurationsdatei in die .muttrc ein:
source /home/andrea/.mutt/folder_hooks

Die folder-hooks für den Folder "nase" sehen dann so oder ähnlich aus:

folder-hook nase my_hdr From: Andrea Wardzichowski
folder-hook nase set envelope_from=yes
folder-hook nase set sort=threads
folder-hook nase my_hdr Reply-To: nase@.....de # doppelt hält besser
folder-hook nase set signature=/home/andrea/signature.nase
folder-hook nase set record=/home/andrea/.procmail/nase # Kopie von ges. Mails in den gleichen Folder

-- PrinCess - 26 Jul 2005

#### Folder Liste

Auf der Suche nach einer Mögichkeit eine Folder-Liste anzuzeigen, hab ich diesen Patch gefunden:
http://thomer.com/mutt/
Zwei kleine "Bugs":

- die automatische Anzeige der Anzahl neuer/ungelesener Mails pro Folder funktioniert nur bei lokalen Mailboxen...
  (Hat jemand lust (und Zeit) einen Patch dafür zu schreiben, damit das auch mit IMAP klappt? ;-) )

- das Debian-Packet für das gepatchte mutt hat den gleichen Namen und die gleiche Version, wie das original mutt-Packet...
  das führt dazu, dass die gepatchte Version bei jedem dist-upgrade wieder duch die originale ersetzt wird...

-- SebastianRies - 12 Aug 2005

Es gibt das Projekt mutt-ng, in dem die Funktionalität des mutt massiv aufgebohrt wird. Es ist allerdings die Frage, ob mutt am Ende noch ein Mailreader ist oder eine eierlegende Wollmilchsau wie gnus. Der Maintainer des Debian-Packages von mutt hat eine Reihe von sinnvollen Features und Patches aus mutt-ng übernommen und eingebaut (insbesondere ein paar Patches, die einen positiven Einfluss auf die Geschwindigkeit haben).

-- JoergHoh - 12 Aug 2005

### List reply

Um list reply einzustellen, konfiguriert man im .muttrc oder im geeigneten folder-hook:
subscribe public@cccs.de. Mit L (Groß-L) kann man dann ganz leicht ein reply auf die Liste machen.

Nachteil: in der Standardkonfiguration zeigt der mutt dann im Index nur "To Listenname" an, statt den Adressen/Namen der Absender. Fand ich nicht so prickelnd, aber ich such mal wo man das umstellt. Hängt mit der Default-Darstellung des From zusammen, er nimmt die Listenadresse, so ein passenden subscribe-Statement vorhanden ist.

-- PrinCess - 01 Aug 2005

### procmail/xmultibiff (wie kommen die Mails in die Folder)

Bei den meisten Linuxdistributionen ist procmail bereits als LDA (LocalDeliveryAgent?) eingetragen, so dass man auf der Systemseite nix mehr einstellen muss, und es reicht einfach im HomeDir? eine .procmailrc Datei anzulegen und die Befehle direkt einzugeben.

Mal eine leicht kommentierte .procmailrc:

#### Generelles

    PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:.
    MAILDIR=$HOME/mail      # You'd better make sure it exists
    DEFAULT=$MAILDIR/mbox
    LOGFILE=$MAILDIR/from
    LOCKFILE=$HOME/.lockmail

#### SpamAssassin?

Startet für jede eingehende Mail einen SpamAssassin? und prüft die Mail auf Spam.

    :0fw
    | spamassassin

Oder noch besser, wenn der spamd auf dem System laeuft, einfach den spamc aufrufen, das ist besser für die Systemlast.

    :0fw
    | spamc -f

_Mehr zu SpamAssassin? auf http://svn.apache.org/repos/asf/spamassassin/branches/3.0/INSTALL _

Wegfiltern der als Spam erkannten Mails

    :0:
    * ^X-Spam-Status: Yes
    $MAILDIR/caughtspam

#### Einsortieren von Mails in verschiedene Folder

Mails der CCCS Mailingliste nach cccs-public

    :0:
    * ^From.public-admin@cccs.invalid
    $MAILDIR/cccs-public

CCC Intern Mails nach ccc-intern Wichtig ist hier der Regexp [0-9]* da der Envelope Sender bei jeder Mail unterschiedlich ist.

    :0:
    * ^From.intern-return-[0-9]*-andreas=bawue.net@lists.ccc.invalid
    $MAILDIR/ccc-intern

Man kann das ganze erweitern in From.intern-return-.*@lists.ccc.invalid. Damit sollte das ganze von der Empfängeradresse unabhängig sein.

Noch besser ist es, anhand fester Headerzeilen in einer Mail die einzelnen Mailingliste in separate Folder einzuordnen

    :0:
    * 1^0 List-Id:.*<public.cccs.de>
    * 1^0 (To|CC):.*ccc-s@bawue.de.*
    * 1^0 (To|CC):.*ccc-s-admin@bawue.de.*
    $MDIR/.lists.ccc.cccs-public/

Im gewählten Beispiel sieht man gleichzeitig noch, wie eine "Oder"-Verknüpfung zwischen den einzelnen Bedingungen hergestellt werden kann. -- JoergHoh - 26 Jul 2005

#### Weiterleiten von speziellen Mails

Alle mails die nicht in irgendwelche Ordner wegsortiert wurden, werden zusätzlich als Kopie an mein Mobiltelefon geschickt.

    :0c
    ! 01701234567@mobilfunkprovider.invalid

Das ganze kombiniert sähe dann so aus:

    PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:.
    MAILDIR=$HOME/mail      # You'd better make sure it exists
    DEFAULT=$MAILDIR/mbox
    LOGFILE=$MAILDIR/from
    LOCKFILE=$HOME/.lockmail

    :0fw
    | spamc -f

    :0:
    * ^X-Spam-Status: Yes
    $MAILDIR/caughtspam

    :0:
    * ^From.public-admin@cccs.invalid
    $MAILDIR/cccs-public

    :0:
    * ^From.intern-return-[0-9]*-andreas=bawue.net@lists.ccc.invalid
    $MAILDIR/ccc-intern

    :0c
    ! 01701234567@mobilfunkprovider.invalid

-- IxS - 26 Jul 2005