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-fileDer 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@hostSpeichert 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