Dateien verschicken
CIP Index Up Left Right

Dateien verschicken

Man kann per email nicht nur Textdateien verschicken, sondern jede beliebige Datei. Dazu muß man sie aber erst so konvertieren, daß in der eigentlich verschickten Datei nur noch die üblicherweise erlaubten Zeichen vorkommen, d.h. man übersetzt Binärdateien so, daß Zahlenwerte außerhalb einer bestimmten Spanne (z.B. 32 bis 127) nicht mehr vorkommen (jede Datei ist ja nichts anderes als eine lange Reihe von Bytes = Zahlen zwischen 0 und 255). Dadurch wird natürlich mehr Speicherplatz benötigt um die gleiche Information darzustellen.

Binäre Dateien selber darf man nicht per mail verschicken, da dies die sendmail Programme nicht verkraften (üblicherweise wird das 8. Bit einfach verschluckt, d.h. die Daten modifiziert).

Um eine Binärdatei nach plain ASCII zu wandeln, gibt es das Programm uuencode. Es liest liest die angegebene Quell-Datei und schreibt sie umkodiert nach stdout (d.h. auf das Terminal, wenn man keine Ausgabeumleitung verwendet).

   uuencode source-file file-label > target-file
Der als zweites Argument angegebene file-label wird zusammen mit den Rechten der Quell-Datei in den Header geschrieben. (Genauere Beschreibung des Formats siehe in uuencode(5)). Die so produzierte Datei kann man dann normal per email verschicken, z.B. gleich mit dem Kommando mail:
   uuencode source-file file-label | mail -s "Datei XYZ" person@host
Speichert der Empfänger die Mail in die Datei "encoded" (z.B. mit dem elm Kommando "s") und gibt uudecode encoded ein, wird aus "encoded" eine Datei produziert mit demselben Inhalt, Zugriffsrechten und Namen wie die Ausgangsdatei source-file.

Beim Verschicken von Dateien auf diese Art sollte man die Einschränkungen bzgl. des Mailaufkommens beachten. Gleichfalls sollte man keine Dateien mit über 1000 Zeilen Länge verschicken, da dies manche Systeme nicht verkraften (diese schneiden dann ab). Man kann die uuencodierten Dateien mit einem normalen Texteditor manuell zertrennen und auf Empfängerseite wieder zusammensetzen.

Um einen ganzen Dateibaum mit Text- und Binärdateien einzupacken, gibt es das komfortable shar (Shell-Archiv) Kommando, das ein Shell-Script erzeugt, das man nur ausführen muß, um den Dateibaum zu reproduzieren. Dieses Programm wird v.a. verwendet um Programmpakete zu übermitteln, wogegen uuencode meist für Bilder in emails und Usenet verwendet wird.

Eine komfortable Möglichkeit bietet auch ship (Hilfeseite erhältlich mit ship -h), das die Dateien automatisch zertrennt und verschickt, und auf der anderen Seite per unship leicht wieder zusammen setzen läßt.

Seit dem Durchbruch des WWW wird auch die Mime-Codierung immer populärer. Hier werden Binärdaten in sogenanntem Base-64 codiert; sie ist im Prinzip sehr ähnlich dem uuencode Verfahren. Das Programm zur En- und Decodierung heißt /local/metamail/bin/mmencode

Siehe auch:
Grundlagen von email
Regelungen zu Netzwerkdiensten