E-mails mit Anhang per Kommandozeile verschicken
Geposted in Linux, Planet, Programmieren am 30. Mai 2011 um 22:21 von schneida – 4 KommentareEigentlich wollte ich gerade einen kurzen Blogpost über Googles Updatepolitik bei Android schreiben, zwischenzeitlich bin ich jedoch über ein anderes Problem gestolpert: E-Mails mit einem Anhang mittels der Kommandozeile verschicken. Zugegeben nicht ganz alltäglich, in meinem Fall nützlich um mittels eines Cronjobs samt Bashscript PDFs aus dem Internet zu laden und regelmäßig auszudrucken (mein Drucker hat eine eigene E-Mail-Adresse). Ein Script im Internet zu finden war nicht sonderlich schwer, viel problematischer war es jedoch, es zum Laufen zu bringen. Eine ganze halbe Stunde durchsuchte ich das Internet nach Hinweisen zu folgender Fehlermeldung:
Kann Verzeichniseintrag für Datei name@email.com nicht lesen: Datei oder Verzeichnis nicht gefunden name@email.com: Kann Datei nicht anhängen. |
Leider wurde ich bis auf ein paar Lokalisierungsdaten allerdings nicht fündig. Es dauerte wie gesagt ganze 30 Minuten, bis ich die dazu passende englische Fehlermeldung fand (“Can’t stat %s: %s”) und damit auch die Lösung des Problems. Um eine E-Mail über die Kommandozeile samt Anhang zu verschicken benötigt man (zumindest unter Arch Linux) folgenden Befehl:
echo "Text der E-mail Nachricht" | mutt -a /tmp/dokument.pdf -s "Betreff" -- name@email.com |
Wichtig dabei sind die “–”, in alle von mir gefundenen Beispiele fehlen diese zwei Bindestriche, was zu obiger Fehlermeldung führt.
