Ein kleines Snippet, um Mails mit Anhang via „mail“-Befehl zu versenden.
Unter Debian und Ubuntu das Paket „sharutils“ installieren. Hiermit können Dateien für den Mail-Versand vorbereit werden:
sudo apt-get install sharutils
Das Format lautet: uuencode lokale_datei.any empfaenger_dateiname.any.
Die lokale Datei kann also unter anderem Namen versendet werden.
Hier ein paar Beispiele, angefangen mit dem einfachen Versenden einer Datei:
uuencode datei.jpeg datei.jpeg | mail empfaenger@domain.tld
Mit Nachricht – alternativ: „echo“:
(cat Nachricht; uuencode datei.jpeg datei.jpeg) | mail empfaenger@domain.tld
Mit Absender und Betreff:
(cat Nachricht; uuencode datei.jpeg datei.jpeg) | mail -a "From: Absendername" -s "Betreff" empfaenger@domain.tld
Mit Absender, Betreff und UTF-8 Encoding („multiple header“):
(cat Nachricht; uuencode datei.jpeg datei.jpeg) | mail -a "`echo -e "Charset: UTF-8\nFrom: Absendername"`" -s "Betreff" empfaenger@domain.tld
Alternativen
Heute, dem 15.01.2014, möchte ich noch moderne Alternativen ergänzen, angefangen mit „mutt“, welches MIME-konform ist:
sudo apt-get install mutt
Beispiel mit Nachricht und Betreff:
echo "Nachricht" | mutt -s "Betreff" empfaenger@domain.tld -a datei.jpeg
Zweite Alternative mit „uuenview“ – Kann quasi alles, was „uuencode“ bietet, ist jedoch wie „mutt“ MIME-konform:
sudo apt-get install uudeview
Beispiel mit Nachricht und Betreff („-a“ für Eingabe der Nachricht via „stdin“:
cat Nachricht | uuenview -b datei.jpeg -m empfaenger@domain.tld -a