L | F | D | W

Programm mailx - einrichten und verwenden


Mailx oder mail ist ein Konsolenprogramm zum Versand und Anzeige von Mails und eines der älteren GUN_Porgramme. Ich zeige hier wie man den SMTP-Server seines Emailprovider mit mail verwenden kann, um über die Commandline Email zu versenden. Auch wie man Emails die lokal auf seinem PC versendet anzeigen und beantwortet (reply email).
Zunächst muss die erforderlichen Pakete installiert werden.

$ sudo dnf install sendmail, mailx

Fangen wir an zu Prüfen, ob sendmail auch läuft, und für den Systemstart einzurichten.

systemctl status sendmail
systemctl enable --now sendmail


1. Emails mit mail anzeigen und email-reply


Jetzt können wir uns einmal ansehen, ob wir zu userem lokalen Benutzerkonto Emails haben und starten mail ohne weitere Parameter. Sollten E-Mails vorhanden sein, sieht das Ergebnis wie unten aus.

mail

mailx - Übersicht aller lokalen Mails

Wenn E-Mails vorhanden sind haben wir am Linken Rand Informationen ob wir ungelesenen, gelesen oder beantwortete (reply) haben. Unten steht klein & , unsere Eingabeaufforderung. Jetzt können wir uns einaml Details ansehen. Für E-Mail 5 geben wir ein.

& 5

Und erhalten Details zur E-Mail.

Details zu einer Email in mailx

Um einer Email zu antworten geben wir ein.

& r 5

Die Antwort-E-Mailadresse wird bereits angegeben und auch das Subject. Im Body können wir jetzt direkt unsren Messagetext schreiben, und um die E-Mail zu versenden schreiben wir am Schluss ~. begleitet mit Enter. Die E-Mail wird mit EOT quittiert und sagt uns, dass sie versendet wurde.

Replay Email

Um wieder auf die Übersicht zu gelangen und sich alle Mails anzusehen.

& h

Und beenden des Programms mit.

& q


2. mailx konfigurieren mit externem SMTP-Server

Dazu werden wir in der Konfigurationsdatei /etc/mail.rc uns einen eigenen "Account" einrichten, den wir dann jederzeit verwenden können. Das Beispiel verwendet Google-Mail, und dazu öffnen wir die Datei mit einem Editor und tragen ein.


account google.com {
set smtp-use-starttls
set ssl-verify=ignore
set smtp-auth=login
set smtp=smtp://smtp.gmail.com:587
set from="test12345678@gmail.com"

#Authentication
set smtp-auth-user=test12345678@gmail.com
set smtp-auth-password=xxxxxxxxxxxxxxxxxxxxxxx
#Encryption (ssl/tls)
set ssl-verify=ignore
}

Zur Erklärung

  • Z1: TLS verwenden.
  • Z2: man mailx lesen. Die Zeile ist übernommen worden.
  • Z3: Login ja.
  • Z4: SMTP-Server angeben mit Port
  • Z5: Absenderadresse angeben
  • Z6: Benutzernamen angeben
  • Z7: Passwort angeben. Wenn Bei Google 2FA verwendet wird, muss ein APP-Passwort für den Benutzeraccount angelegt und verwendet werden. Sonst wird das Login scheitern. Mit APP-Passwörten kann 2FA verwendet werden.
  • Z8: man mailx lesen. Die Zeile ist übernommen worden.


3. Senden einer Email mit mail und externem SMTP-Server

Dazu gibt es den Parameter -A google.com. Ein vollständiger Aufruf lautet:

mailx -s "test" -A "gmail.com" -v test12345678@gmail.com <<< "Eine testemail ohne Anhängen"

Zur Erklärung:
  • -s Subject
  • -A account, unsere Konfiguration
  • -v verbose, Erweiterte Ausgabe
  • Empfänger Emailadresse
  • <<< "Text", Body message


Das Ergebnis für einen vollständigen erfolgreichen Versand seht ihr hier.

Erfolgreich versendete Email

Mit mail lassen sich sehr viel weitergehende Anwendungen realisieren, dazu ist die Doku unter man mailx> sehr hilfreich. Um einen eigenen Mailserver zu betreiben, werde ich später noch näher eingehen und das Thema erweitern.


Stay focused on Linux

Weitere Quellen und Suchbegriffe: (man mailx), https://mailutils.org/manual/html_section/mail.html



geändert, 18. Nov 2022, 23:52
Copyright © 2025 by Philipp