E-mails mit Anhang per Kommandozeile verschicken

Eigentlich 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.

  1. kero sagt:

    uuencode /tmp/meinbild.png | mail -s “Betreff” empfaenger@example.net

    sollte auch funktionieren.

    Kero

    • schneida sagt:

      Theoretisch natürlich auch möglich, aber muss sich der Empfänger dann nicht mit uudecode herumschlagen? In meinem Fall (ein Drucker bekommt seinen Druckjob per E-mailanhang) muss der Anhang ja standardkonform mit MIME-Type etc. verschickt werden.

  2. Manuel sagt:

    Danke! Stand vor dem genau gleichen Problem…
    Mit den „–“ vor der Empfängeradresse hat nun alles funktioniert (Debian Squeeze).

  3. Harald sagt:

    Danke!
    Die „–“ waren das Problem.

    Wieso steht das bei den vielen anderen mutt-Hilfen nicht.

  1. Es gibt noch keine Trackbacks für diesen Post!