h1

Emails von der Kommandozeile – sendmail und mailx

Februar 3, 2009

Hängt man viel in der Kommandozeile, ist es manchmal viel sinnvoller, eine kurze Nachricht direkt aus der Konsole zu senden, als erst aufwendig seinen Mail-Clienten zu öffnen und die Mail von dort zu schreiben.  Um allerdings von seinem geliebten Terminal Emails versenden zu können, muss man sich sendmail und mailx installieren, was aber per apt-get (unter Ubuntu) sehr sehr einfach geht:

sudo apt-get install heirloom-mailx

sudo apt-get install sendmail

Das sollte auch schon reichen. Jetzt kann es los gehen. Um eine Mail an xyz@abcd.com zu schicken, tippt man folgenden Befehl:

mailx xyz@abcd.com

Dann wird man nach dem Subject gefragt und anschließend kann man den eigentlichen Mail-Inhalt schreiben. Es wird gelesen, bis ein einzelner Punkt auf einer Zeile getippt wird bzw. bis EOF also dem Ende der Eingabe. Da mailx von der Standardeingabe liest, kann man auch zunächst mit seinem Lieblingseditor den Body erstellen und mailx dann wie folgt aufrufen:

cat email_inhalt.txt | mailx -s „subject“ xyz@abcd.com

Als Absender wird bei dieser Form der Vor- und Zuname des Benutzers verwendet. Man kann aber natürlich den Absender „fälschen“, indem man die Option -r verwendet:

cat email_inhalt.txt | mailx -s „subject“ -r von@mir.com xyz@abcd.com

Wichtig ist allerdings, dass man die Optionen wie -s und -r am Anfang verwendet, bevor man die Empfänger-Adresse angibt, sonst wird alles als Empfängeradresse verwendet. Will man mehrere Empfänger angeben, hängt man diese einfach durch Leerzeichen getrennt ans Ende des Aufrufs.

Weitere Infos:

  • man mailx
  • man sendmail

7 Kommentare

  1. Ergänzung:
    Um das mit EOF zu umgehen geht auch:

    mailx -s „Test“ abc@def.gh < /pfad/zur/datei


  2. Ja, ok, das stimmt natürlich. Irgendwie mag ich die Variante mit cat trotzdem mehr. =P


  3. Schon mal msmtp angeschaut? Kann viel viel mehr.
    Zum Beispiel:
    – config-Datei (~/.msmtprc)
    – mehrer Accounts also auch externe smtp (–account=…)
    – Empfänger aus E-Mail lesen (–read-recipients)
    – Verschlüsseln (tls, …)

    cat email.txt | msmtp –read-recipients
    oder
    cat email.txt | msmtp xyz@abcd.com

    Gruß Michael


  4. Deine Mutter!!!!!


  5. hehe


  6. Wirklich gute Erklärung. Profi !!! Note 1


  7. Vielleicht hättest du erwähnen sollen, dass man sendmail einen mx host mitgeben sollte, der auf ein gültiges E-Mail Postfach deines Providers zeigt. Ansonsten stellen die Admins relativ schnell fest, dass du von einer nicht angemeldeten Maschine Mails verschickst und du landest als Spammer auf einer Blacklist.



Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: