Der Mailreader Mutt: Die MIME-Unterstützung

Weiter Zurück Inhalt

## 5. Die MIME-Unterstützung

Es wurden große Anstrengungen unternommen, um Mutt zum ersten Textmodus-Mailprogramm zu machen, das MIME unterstützt. Dabei wurde keine Mühe gescheut, die Funktionalität einzubauen, die ein Anwender braucht, wobei auf die Einhaltung der Standards Wert gelegt wurde, wo immer es möglich war. Für den Umgang mit MIME benutzt Mutt zwei zusätzliche Arten von Konfigurationsdateien. Die erste ist die `mime.types`-Datei, die Dateinamens-Erweiterungen mit IANA MIME-Typen verknüpft. Die zweite ist die `mailcap`-Datei, die externe Programme zum Umgang mit den unterschiedlichen MIME-Typen angibt.

## 5.1 Verwendung von MIME in Mutt

Es gibt drei Bereiche/Menüs, in denen Mutt mit MIME in Berührung kommt. Das sind der Pager (beim Anzeigen einer Nachricht), das Attachment-Menü und das Compose-Menü.

### MIME-Nachrichten im Pager anzeigen

Wenn eine Nachricht im Index-Menü ausgewählt und im Pager angezeigt wird, dekodiert Mutt die Nachricht in eine lesbare Text-Darstellung. Mutt unterstützt intern eine Reihe von MIME-Typen, u.a. `text/plain, text/enriched, message/rfc822 und message/news`. Zusätzlich erkennt die internationale Version von Mutt einige PGP-MIME-Typen; PGP/MIME und application/pgp eingeschlossen.

Mutt macht Anhänge (Attachments) durch einige beschreibende Zeilen kenntlich. Diese Zeilen sind so aufgebaut:

> `

>     [-- Anhang #1: Beschreibung --]
>     [-- Typ: text/plain, Codierung: 7bit, Größe: 10000 --]

> `

Bei `Beschreibung` handelt es sich um die Beschreibung oder den Dateinamen des Attachments. Als `Codierung` sind die Formate `7bit/8bit/quoted-printable/base64/binary` möglich.

Wenn Mutt mit einem MIME-Typ nichts anzufangen weiß, zeigt es eine solche Meldung an:

> `

>     [-- image/gif wird nicht unterstützt (benutzen Sie 'v', um diesen Teil anzuzeigen) --]

> `

### Das Anhänge-Menü

Die voreingestellte Taste für `view-attachments` ist ``v'', was zur Anzeige des Anhänge-Menüs für die Nachricht führt. Dieses Menü zeigt eine Liste der Anhänge in der Nachricht an. Aus dem Anhänge-Menü heraus kann man Attachments speichern, drucken, an Programme weiterleiten (pipen), löschen und anzeigen. Diese Operationen können sich auch auf mehrere Anhänge gleichzeitig beziehen, wenn sie vorher markiert und der ``tag-prefix''-Operator benutzt wurde. Man kann außerdem eine Antwort auf die aktuelle Nachricht aus dem Menü heraus abschicken, wobei nur das gerade ausgewählte (oder alle markierten) Attachment(s) in der Antwort zitiert werden. Attachments können entweder als Text oder durch Benutzung der mailcap-Einstellungen angezeigt werden. Nähere Informationen gibt die Online-Hilfe im Anhänge-Menü.

### Das ``Nachricht erstellen''-Menü

Das ``Nachricht erstellen''-Menü wird vor dem Senden einer Nachricht angezeigt. Es ermöglicht das Bearbeiten der Empfängerliste, des Betreffs (Subjects) und anderer Aspekte der Nachricht. Es enthält außerdem eine Liste der Anhänge der Nachricht, den Hauptteil eingeschlossen. In diesem Menü kann ein Anhang (oder eine Liste markierter Anhänge) gedruckt, kopiert, gefiltert, an Programme weitergeleitet (pipen), editiert, bearbeitet, angezeigt und umbenannt werden. Außerdem können die Anhang-Information, Typ, Kodierung und die Beschreibung verändert werden.

Anhänge werden folgendermaßen angezeigt:

    -   1 [text/plain, 7bit, 1K]             /tmp/mutt-euler-8082-0 <no description>
        2 [applica/x-gunzip, base64, 422K]   ~/src/mutt-0.85.tar.gz <no description>

Der Bindestrich '-' zeigt an, daß Mutt die so gekennzeichnete Datei nach dem Senden der Nachricht löschen wird. Das kann mit dem `toggle-unlink`-Kommando (Voreinstellung: u) eingestellt werden. Das nächste Feld ist der MIME-Typ, der mit dem `edit-type`-Kommando (Voreinstellung: ^T) verändert werden kann. Das dritte Feld zeigt die Art der Kodierung an, durch die das Versenden von Binär-Nachrichten über 7bit-Verbindungen möglich wird. Eine Änderung ist durch das Kommando `edit-encoding` möglich (Voreinstellung: ^E). Das vierte Feld gibt die Größe des Attachments an, gerundet auf Kilo- oder Megabyte. Das nächste Feld enthält den Dateinamen, der mit dem `rename-file`-Kommando (Voreinstellung: R) modifiziert werden kann. Im letzten Feld steht eine Beschreibung des Attachments. Eine Änderung ist durch das Kommando `edit-description` (Voreinstellung: d) möglich.

## 5.2 Konfiguration der MIME-Typen in `mime.types`

Wenn ein Attachment an eine Nachricht angehängt wird, durchsucht Mutt die private mime.types-Datei in `${HOME}/.mime.types` und dann die systemweite mime.types-Datei in `/usr/local/share/mutt/mime.types` oder `/etc/mime.types`.

Die Datei mime.types besteht aus Zeilen, die den MIME-Typ und eine durch Leerzeichen abgetrennte Liste von Datei-Erweiterungen enthält. Hier ein Beispiel:

> `

>     application/postscript          ps eps
>     application/pgp                 pgp
>     audio/x-aiff                    aif aifc aiff

> `

Eine beispielhafte `mime.types`-Datei wird bei Mutt mitgeliefert und sollte die meisten gebräuchlichen MIME-Typen enthalten.

Wenn Mutt den MIME-Typ nicht an der Dateinamens-Erweiterung der anzuhängenden Datei erkennen kann, schaut es die Datei selbst an. Wenn sie keine binären Informationen enthält, nimmt Mutt an, daß es sich um eine Textdatei handelt und setzt den Typ auf `text/plain`. Wenn die Datei binäre Informationen enthält, setzt Mutt den Typ auf `application/octet-stream`. Der MIME-Typ kann durch das Kommando `edit-type` (Voreinstellung: ^T) im Compose-Menü verändert werden. Wenn der MIME-Typ vom Benutzer angegeben wird, erwartet Mutt, daß der Haupttyp (Major-Type) application, text, image, video oder audio ist. Wird ein anderer Haupttyp ausgewählt, bricht Mutt die Änderung ab.

## 5.3 Konfiguration der MIME-Anzeige in `mailcap`

Mutt unterstützt die MIME-Konfiguration nach RFC 1524, genauer gesagt das im Anhang A von RFC 1524 beschriebene Unix-spezifische Format. Dieses Dateiformat wird oft als das mailcap-Format bezeichnet. Viele Programme, die MIME unterstützen, verwenden das mailcap-Format, um dem Benutzer die Konfiguration der MIME-Typen für alle Programme in derselben Datei zu ermöglichen. Die Programme Netscape, XMosaic, lynx und metamail benutzen beispielsweise dieses Format.

Für den Umgang mit den verschiedenen MIME-Typen, die Mutt nicht intern behandeln kann, untersucht es eine Reihe von Konfigurationsdateien, um ein geeignetes externes Programm zu finden. Standardmäßig wird nach diesen Dateien gesucht, die in der Liste durch Doppelpunkte voneinander getrennt sind:

> `

>     ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap

> `

Bei `$HOME` handelt es sich um das Heimat-Verzeichnis des Benutzers.

Im Normalfall wird das metamail-Paket eine mailcap-Datei in `/usr/local/etc/mailcap` installieren, das einige grundlegende Einträge enthält.

### Die Grundlagen der Mailcap-Datei

Eine mailcap-Datei besteht aus einer Reihe von Zeilen, die entweder Kommentar-, Definitions- oder Leerzeilen sind.

Eine Kommentarzeile besteht aus einem #-Zeichen, gefolgt von beliebigem Text.

Eine Leerzeile ist einfach nur leer.

Eine Definitionszeile besteht aus einem Content-Type (``Inhalts-Typ''), einem Anzeige-Kommando und einer beliebigen Anzahl von optionalen Feldern. Jedes Feld in einer Definition wird durch ein Semicolon ';' abgetrennt.

Der Content-Type wird durch die Standard-MIME Methode Typ/Subtyp angegeben. Beispiel: `text/plain, text/html, image/gif,` usw. Zusätzlich sind im mailcap-Format zwei Platzhalter vorgesehen. Einer ist der spezielle Subtyp '*'. Beim anderen wird nur der Haupt-Typ (major type) angegeben und der Subtyp ausgelassen. Beispielsweise treffen `image/*` oder `video` auf alle Image- bzw. Video-Typen zu.

Das Anzeige-Kommando ist ein Unix-Kommando zur Anzeige des betreffenden MIME-Typs. Es gibt zwei verschiedene Arten von unterstützten Kommandos. Standard ist es, den Rumpf der MIME-Nachricht über die Standardeingabe an das angegebenen Kommando zu schicken. Dies kann geändert werden, indem man %s als Parameter des Anzeige-Kommandos angibt. In diesem Fall speichert Mutt den Rumpf der MIME-Nachricht in einer temporären Datei ab und ruft das Anzeige-Kommando auf, wobei die Folge %s durch den Namen der temporären Datei ersetzt wird. In beiden Fällen übergibt Mutt die Kontrolle über das Terminal an das Anzeige-Programm, bis dieses Programm beendet ist. Dann löscht Mutt die temporäre Datei, sofern sie noch vorhanden ist.

Die einfachste Form ist das Schicken einer text/plain-Nachricht an den externen Pager more über die Standardeingabe:

> `

>     text/plain; more

> `

Eine andere Möglichkeit ist die Verwendung einer temporären Datei:

> `

>     text/plain; more %s

> `

lynx kann zum interaktiven Anzeigen von text/html-Nachrichten verwendet werden:

> `

>     text/html; lynx %s

> `

In diesem Fall nimmt lynx keine Dateien über die Standardeingabe an. Deshalb muß die %s-Syntax benutzt werden. Hinweis: Einige ältere Versionen von lynx enthalten einen Bug, der dafür sorgt, daß lynx die mailcap-Datei nach einem Anzeigeprogamm für text/html durchsucht. Auf diese Weise wird natürlich lynx gefunden, was dafür sorgt, daß sich lynx bis in alle Ewigkeit selbst startet.

Wer lynx nicht interaktiv benutzen möchte, kann text/html nach text/plain umwandeln lassen:

> `

>     text/html; lynx -dump %s | more

> `

Möglicherweise soll lynx als Anzeigeprogramm für text/html-Dateien und ein Pager für alle anderen Formate verwendet werden:

> `

>     text/html; lynx %s
>     text/*; more

> `

Dies ist die einfachste Form einer mailcap-Datei.

### Sichere Verwendung der mailcap

Die Auswertung von Shell-Meta-Zeichen, die in MIME-Parameter eingebettet sind, kann generell zu Sicherheits-Problemen führen. Mutt versucht, Parameter korrekt zu maskieren, wenn es die %s-Syntax auflöst. Außerdem vermeidet es riskante Zeichen, indem es sie ersetzt, vergleiche dazu die Variable mailcap_sanitize.

Obwohl Mutts Vorgehensweise beim Aufrufen von Programmen über die mailcap sicher erscheint, wird die mailcap auch von anderen Anwendungen eingelesen, die eventuell weniger sorgfältig vorgehen. Deshalb sollte man sich an folgende Regeln halten:

Maskiere die %-Sequenzen nicht selbst. Maskiere sie weder mit einzelnen, noch mit doppelten Anführungszeichen. Mutt übernimmt das und macht es richtig, so wie jedes Programm es tun sollte, das die mailcap liest. Lasse ihren Inhalt nicht durch Backticks (`) auswerten. Sei generell sehr vorsichtig, wenn etwas von der Shell interpretiert wird (eval statements) und vermeide solche Konstrukte, wo immer es möglich ist. Zu versuchen, fehlerhaftes Verhalten durch reine Anführungszeichen zu korrigieren, erzeugt wieder neue Schlupflöcher - es gibt keine Alternative zu einer korrekten Maskierung, die von Anfang an vom Programm vorgenommen wird, das die mailcap verwendet.

Wenn Du den Wert einer %-Sequenz in einem Zusammenhang verwenden willst, in dem Du eigene Maskierung oder Backtick-Auswertung brauchst, schreibe den Wert erst in eine Shell-Variable und beziehe Dich wo nötig auf diese Variable, wie in folgendem Beispiel gezeigt wird (`$charset` innerhalb der Backtick-Auswertung zu verwenden ist sicher, da es selbst nicht weiter interpretiert wird):

> `

>     text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
>             && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1

> `

### Fortgeschrittene Nutzung von mailcap

### Optionale Felder

Zusätzlich zu den benötigten content-type und Anzeige-Kommando-Feldern können, durch Semikolon ``;'' abgetrennt, Felder für zusätzliche Optionen angegeben werden. Mutt erkennt folgende optionale Felder:

copiousoutput

  Diese Option teilt Mutt mit, daß das Kommando möglicherweise große Mengen von Text auf die Standardausgabe schreibt. Das führt dazu, daß Mutt einen Pager (entweder den internen oder einen externen Pager, wenn die pager-Variable entsprechend gesetzt ist) benutzt, um das Ergebnis des view-Kommandos anzuzeigen. Ohne diese Option nimmt Mutt an, daß das Kommando interaktiv ist. Man könnte das benutzen, um die Pipe an `more` im `lynx -dump` Beispiel zu ersetzen:

  > `

  >     text/html; lynx -dump %s ; copiousoutput

  > `

  Auf diese Weise formatiert lynx den HTML-Code als text/plain und Mutt zeigt das Ergebnis im Standard-Pager an.

needsterminal

  Mutt benutzt diese Option bei der Anzeige von Anhängen mit autoview, um zu entscheiden, ob die Variable $wait_key beachtet werden soll. Wenn ein Anhang durch ein interaktives Programm angezeigt wird und der entsprechende mailcap-Eintrag die needsterminal-Option aktiviert hat, entscheidet Mutt anhand von $wait_key und dem exit-Status des Programms, ob der Benutzer aufgefordert werden soll, eine Taste zu drücken, wenn das Programm beendet ist. In allen anderen Situationen ist kein Tastendruck nötig.

compose=<Kommando>

  Diese Option gibt ein Programm an, mit dem ein neuer Anhang mit dem angegebenen MIME-Typ erstellt werden soll. Mutt unterstützt diese Option im ``Nachricht erstellen''-Menü.

composetyped=<Kommando>

  Diese Option gibt ein Programm an, mit dem ein neuer Anhang mit dem angegebenen MIME-Typ erstellt werden soll. Es unterscheidet sich dadurch von der compose-Option, daß Mutt hier Standard-MIME-Header in den Daten erwartet. Das kann dafür benutzt werden, Parameter, Dateiname, Beschreibung usw. eines neuen Anhangs zu bestimmen. Mutt unterstützt diese Option im ``Nachricht erstellen''-Menü.

print=<Kommando>

  Diese Option gibt ein Programm an, das zum Drucken eines bestimmten MIME-Typs benutzt werden kann. Mutt unterstützt diese Funktion im ``Anhänge-'' und ``Nachricht erstellen''-Menü.

edit=<Kommando>

  Diese Option gibt ein Programm zum Bearbeiten eines bestimmten MIME-Typs an. Mutt unterstützt diese Funktion im ``Nachricht erstellen''-Menü und benutzt es außerdem für das Erstellen neuer Anhänge. Mutt benutzt für Text-Anhänge standardmäßig den eingestellten Editor.

nametemplate=<Vorlage>

  Dieses Feld gibt das Format des Dateinamens an, der im Kommando-Feld für %s eingesetzt wird. Einige Programme benötigen eine bestimmte Dateinamens-Erweiterung, um eine Datei korrekt anzuzeigen. Lynx erkennt z.B. eine Datei nur dann als `text/html` an, wenn der Dateiname auf `.html` endet. Deshalb sollte lynx für die Anzeige von `text/html` in der Mailcap-Datei folgendermaßen konfiguriert sein:

  > `

  >     text/html; lynx %s; nametemplate=%s.html

  > `

test=<Kommando>

  Dieses Feld gibt ein Programm an, das testet, ob dieser Mailcap-Eintrag benutzt werden soll. Das Kommando unterliegt den Regeln zur Kommando-Expansions, die im übernächsten Abschnitt beschrieben werden. Wenn das Programm Null zurückgibt, ist der Test bestanden, und Mutt benutzt diesen Eintrag. Wenn das Programm einen Wert ungleich Null zurückgibt, ist der Test fehlgeschlagen und Mutt sucht weiter nach einen passenden Eintrag.

  Hinweis: Der Content-Typ muß zutreffen sein, bevor Mutt den Test vornimmt.

  > `

  >     text/html; netscape -remote 'openURL(%s)' ; test=RunningX
  >     text/html; lynx %s

  > `

  In diesem Beispiel führt Mutt das Programm ``RunningX'' aus, das Null zurückgibt, wenn X11 läuft. Wenn RunningX Null zurückliefert, startet Mutt netscape zur Anzeige des text/html-Objekts. Wenn X nicht läuft, geht Mutt zum nächsten Eintrag und zeigt das Objekt mit lynx an.

### Such-Reihenfolge

Mutt sucht in der Mailcap-Datei nach dem nützlichsten Eintrag für seine Zwecke. Wenn beispielsweise ein `image/gif`-Objekt ausgedruckt werden soll und die folgenden Einträge in der Mailcap-Datei stehen, sucht Mutt nach einem Eintrag, der das print-Kommando enthält:

> `

>     image/*;        xv %s
>     image/gif;      ; print= anytopnm %s | pnmtops | lpr; \
>                     nametemplate=%s.gif

> `

Mutt überspringt den `image/*`-Eintrag und benutzt statt dessen den print-Eintrag von `image/gif`.

Zusätzlich können durch das Autoview-Kommando zwei Programme zur Anzeige eines Anhangs angegeben werden. Eines für die automatische Anzeige und das andere für die interaktive Verwendung im Anhänge-Menü. Außerdem kann das Test-Feature benutzt werden, um ein Anzeigeprogramm abhängig von Umgebungsvariablen auszuwählen.

> `

>     text/html;      netscape -remote 'openURL(%s)' ; test=RunningX
>     text/html;      lynx %s; nametemplate=%s.html
>     text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput

> `

Für Autoview benutzt Mutt den dritten Eintrag, da dieser die copiousoutput-Option enthält. Für die interaktive Anzeige startet Mutt das Programm RunningX, um festzustellen, ob der erste Eintrag benutzt werden soll. Wenn das Programm einen Wert ungleich Null zurückliefert, wird der zweite Eintrag für die interaktive Anzeige benutzt.

### Kommando-Expansion

Die verschiedenen in den Mailcap-Dateien angegebenen Kommandos werden durch die system()-Funktion an `/bin/sh` weitergereicht. Bevor ein Kommando an `/bin/sh -c` geschickt wird, ersetzt Mutt spezielle Parameter. Diese Parameter erkennt Mutt:

%s

  Wie in den vorhergehenden Kapiteln beschrieben, wird diese Variable durch einen Dateinamen ersetzt, den das aufrufende Programm festlegt. Er gibt eine Datei an, die den Rumpf der Nachricht enthält, die angezeigt / gedruckt / bearbeitet werden soll oder legt fest, wo ein Programm sein Ergebnis abspeichern soll. Zusätzlich sorgt dieses Schlüsselwort dafür, daß Mutt den Rumpf der Nachricht nicht über die Standardeingabe weiterleitet.

%t

  Mutt ersetzt %t durch die Text-Darstellung des Content-Typs der Nachricht. Sie hat dieselbe Form wie der erste Parameter der Mailcap-Definitions-Zeile (z. B. `text/html` oder `image/gif`).

%{<Parameter>}

  Mutt ersetzt dies durch den Wert des angegebenen Parameters aus dem ``Content-Type:''-Header der Nachricht. Nehmen wir an, die Nachricht enthält folgendes:

  > `

  >     Content-Type: text/plain; charset=iso-8859-1

  > `

  Mutt ersetzt in diesem Fall %{charset} durch iso-8859-1. Die von metamail standardmäßig installierte Mailcap-Datei benutzt dieses Feature zum Test des Zeichensatzes.
\%

  Dieses Schlüsselwort wird durch % ersetzt.

Mutt unterstützt die Schlüsselwörter %F und %n aus RFC 1524 gegenwärtig nicht. Der Hauptzweck dieser Parameter ist die Behandlung von mehrteiligen Nachrichten, die von Mutt intern verarbeitet werden.

### Beispiele für mailcap-Dateien

Diese mailcap-Datei ist ziemlich einfach:

    # Hier läuft immer X :)
    video/*;        xanim %s > /dev/null
    image/*;        xv %s > /dev/null

    # Wenn Netscape ständig läuft
    text/html;      netscape -remote 'openURL(%s)'

Diese mailcap-Datei zeigt eine ganze Menge Beispiele:

    # xanim wird zur Anzeige von Videos benutzt. Die Statusmeldungen, die
    # xanim zeigt, werden nach /dev/null umgeleitet.
    video/*;        xanim %s > /dev/null

    # Einen laufenden Netscape-Browser fernsteuern
    text/html;      netscape -remote 'openURL(%s)'; test=RunningNetscape

    # Wenn Netscape nicht läuft, aber X läuft, starte Netscape, um das
    # Objekt anzuzeigen
    text/html;      netscape %s; test=RunningX

    # wenn X nicht läuft, benutze lynx
    text/html;      lynx %s

    # Diese Version wandelt text/html in text/plain um
    text/html;      lynx -dump %s; copiousoutput

    # enriched.sh konvertiert text/enriched in text/html und benutzt dann
    # lynx -dump zum Konvertieren in text/plain
    text/enriched;  enriched.sh ; copiousoutput

    # benutze enscript, um den Text zweispaltig auszudrucken
    text/*;         more %s; print=enscript -2Gr %s

    # Netscape führt eine Markierung ein, um sich selbst mitzuteilen, daß es
    # jpeg-Bilder intern anzeigen soll
    image/jpeg;xv %s; x-mozilla-flags=internal

    # Benutze xv für das Anzeigen von Bildern, wenn X läuft
    # Zusätzlich wird der Backslash benutzt, um die Zeile fortzusetzen und
    # einen Editor für image/* zu setzen
    image/*;xv %s; test=RunningX; \
            edit=xpaint %s

    # Benutze die netpbm-Tools, um Bilder in eine Textdarstellung
    # umzuwandeln
    image/*;  (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
    pbmtoascii -1x2 ) 2>&1 ; copiousoutput

    # Schicke excel-Tabellen an meinen NT-Rechner
    application/ms-excel; open.pl %s

## 5.4 MIME-Autoview

Zusätzlich zur Möglichkeit, Mutt explizit zu sagen, daß es einen Anhang mit dem in der Mailcap-Datei definierten Anzeige-Programm darstellen soll, unterstützt Mutt die automatische Anzeige von MIME-Anhängen im Pager.

Dazu muß ein Anzeigeprogramm in der Mailcap-Datei angegeben werden, der mit der Option `copiousoutput` versehen ist, damit er als nicht-interaktiv erkannt werden kann. Üblicherweise wird der Eintrag für die Umwandlung in eine Textdarstellung verwendet, die dann im Pager angezeigt werden kann.

Jetzt kann das `auto_view`-Kommando in der muttrc verwendet werden, das die Content-Typen angibt, die automatisch angezeigt werden sollen.

Zum Beispiel könnte man auto_view so setzen:

> `

>     auto_view text/html text/enriched application/x-gunzip application/postscript image/gif application/x-tar-gz

> `

Mutt könnte dann diese Mailcap-Einträge benutzen, um automatisch Anhänge dieser Typen anzuzeigen:

> `

>     text/html;      lynx -dump %s; copiousoutput; nametemplate=%s.html
>     text/enriched;  enriched.sh  ; copiousoutput
>     image/*;        anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
>     application/x-gunzip;   gzcat; copiousoutput
>     application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
>     application/postscript; ps2ascii %s; copiousoutput

> `

## 5.5 MIME Multipart/Alternative

Mutt versucht selbst zu entscheiden, welcher Teil eines multipart/alternative-Typs angezeigt werden soll. Zuerst überprüft Mutt die alternative_order-Liste, um festzustellen, ob einer der verfügbaren Typen bevorzugt wird. Die alternative_order-Liste enthält eine Reihe von MIME-Typen in der gewünschten Reihenfolge. Die üblichen MIME-Platzhalter können verwendet werden. Beispiel:

> `

>     alternative_order text/enriched text/plain text application/postscript image/*

> `

Als nächstes überprüft Mutt, ob für einen dieser Typen auto_view definiert ist. Ist das nicht der Fall, sucht Mutt nach einem Text-Typ. Zuletzt sucht Mutt nach irgendeinem Typ, mit dem es umgehen kann.

Weiter Zurück Inhalt