Left Up Right Arbeitsgruppe Mail
MIME-Files unter Unix: mailcap und mime.types

MIME-Files unter Unix: mailcap und mime.types

Viele Anwendungen können mit Daten im MIME-Format umgehen, z.B. Mailprogramme (pine, elm+metamail) und WWW-Browser (lynx, netscape, xmosaic).

Das Verhalten, welche Anwendungen bei welchem MIME-Typ (Content-Type) gestartet und welcher MIME-Typ bei welcher File-Endung angenommen wird, läßt sich unter UNIX durch die Files mailcap und mime.types festlegen. Davon gibt es sowohl global vorgegebene als auch nutzerspezifische Files. Letztere müssen vom Nutzer angelegt werden, wenn ein anderes Verhalten als das global vorgegebene oder zusätzliche Sachen gewünscht werden:

$HOME/.mailcap und $HOME/.mime.types
Darüber hinaus haben viele Programme auch eingebaute Standard-Vorgaben (Netscape zeigt z.B. GIF-Bilder immer Inline an).

Aufbau eines mailcap - Files

Hier lege ich fest, welche Anwendung bei welchem MIME-Typ (= Content-Type) gestartet wird, um die Daten zu präsentieren (anzeigen oder abspielen).

Diesen Content-Type bekommt ein Mailprogramm innerhalb des Mailheaders und ein WWW-Browser über den HTTP-Header mitgeteilt, z.B.

Content-Type: application/postscript
Dieser Typ wird in den (nutzerspezifischen und globalen) mailcap-Files gesucht, um die richtige Anwendung zu starten. Wird z.B. der Eintrag
application/postscript; showps %s
gefunden, wird das Programm showps mit dem aktuellen Filenamen (enthält die mglw. dekodierten Daten) gerufen. Hier sieht man auch den prinzipiellen Aufbau eines mailcap-Files:
Typ/Subtyp; Programm [Flags] %s
Möchte ich z.B. das Standard-Verhalten (s.o.) ändern, schreibe ich z.B. in mein $HOME/.mailcap
application/postscript; ghostview %s
Die globalen mailcap-Files sind
für Mailprogramme /uni/global/lib/mailcap,
für Netscape leicht abweichend /uni/global/lib/netscape/mailcap.
Es sind weitere Optionen möglich, siehe dazu das Manual mailcap. Eine allgemeine Beschreibung findet man in RFC 1525.

TIP: Weiß man nicht, welchen Typ ein WWW-Server einem Dokument gibt, kann man dies mit dem Tool wwwhead überprüfen, z.B.:

Prompt> wwwhead http://www.tu-chemnitz.de/~fri/fun/lamps.fli.gz
...
HTTP/1.0 200 Document follows
...
Content-Encoding: x-gzip
Content-Type: video/flic

Aufbau eines mime.types - Files

Manchmal weiß ein Programm nichts von einem MIME-Typ, z.B. ein WWW-Browser beim FTP (das kennt keine Content-Types) oder beim Lesen von lokalen Files. Dann kommt ein mime.types-File ins Spiel, in dem einfach File-Endungen (Suffixe) auf Content-Types abgebildet werden. Anhand des Types wird dann wieder die via mailcap definierte Anwendung gestartet.

Ein mime.types-File sieht so aus:

Typ/Subtyp suff1 [suff2...]
So sagt z.B. folgende Zeile, daß Files mit den Endungen .jpeg und .jpg vom Typ image/jpeg sind (das trifft auch zu, wenn man sich an übliche Konventionen hält):
image/jpeg         jpeg jpg
So kann man leicht eigene Ergänzungen hinzufügen in $HOME/.mime-types. Das globale mime-types-File für Netscape ist /uni/global/lib/netscape/mime.types, die anderen Programme haben (noch) keins.

Ein solches File kann auch von einem Mailprogramm verwendet werden, um den MIME-Typ von zu versendenden Attachments zu bestimmen. Netscape-Mail und demnächst Pine nutzen das.

Als Test empfiehlt sich die Demo der verschiedenen Format-Typen.


Frank Richter, Februar 1996

Arbeitsgruppe Mail Informatik- und Netzwerkverein Ravensburg e.V