E-Mails unter Linux über die Befehlszeile senden
In diesem Artikel erfahren Sie, wie Sie E-Mails mit den beliebten Mail-Befehlen senden. Es ist genauso wichtig, dass Sie auch lernen, wie man E-Mail-Anhänge unter Linux versendet. Einige der verwendeten Befehlszeilenoptionen sind:
- -s: bezeichnet den Betreff der Mail
- -a: für die Kennzeichnung eines Anhangs
- -c: für die CC-E-Mail-Adresse (Kopie)
- -b: für die BCC-E-Mail-Adresse (Blindkopie)
Wir werden folgende Befehle kennenlernen, um E-Mails in Linux zu senden
- mailx
- mutt
- mpack
- sendmail
1. Verwendung des mail-Befehls
Der Linux-Mail-Befehl ist sehr beliebt und wird häufig verwendet, um E-Mails in Linux zu senden. Mail wird als Teil der Pakete mailutils und mailx auf Debian- und Redhat-Systemen installiert. Die beiden Befehle verarbeiten Nachrichten über die Befehlszeile. Um mailutils auf Debian- und Ubuntu-Systemen zu installieren, führen Sie aus:
$ sudo apt install mailutils -y
Für CentOS- und RedHat-Distributionen, führen Sie aus:
$ yum install mailx
Wenn Sie den Befehl ausführen, wird das folgende Fenster angezeigt. Drücken Sie die TAB-Taste und wählen Sie ‚OK‘
Im nächsten Fenster scrollen Sie und wählen ‚Internet Site‘.
Das System wird danach den Installationsprozess abschließen.
Testen des Mail-Befehls
Wenn der Mail-Befehl erfolgreich installiert ist, testen Sie die Anwendung, indem Sie das folgende Format verwenden und Enter drücken:
$ mail –s "Test Email" email_address
Ersetzen Sie email_address durch Ihre E-Mail-Adresse. Zum Beispiel:
$ mail –s "Test Email" james@example.com
Nach dem Drücken von „Enter“ werden Sie zur Eingabe einer Carbon Copy (Cc:) Adresse aufgefordert. Wenn Sie keine Kopie einbeziehen möchten, fahren Sie fort und drücken ENTER. Tippen Sie als Nächstes die Nachricht oder den Inhalt der E-Mail und drücken ENTER. Schließlich drücken Sie gleichzeitig Ctrl + D, um die E-Mail in Linux zu senden.
Output
Alternativ können Sie den echo-Befehl verwenden, um die Nachricht, die Sie senden möchten, an den Mail-Befehl weiterzuleiten, wie unten gezeigt.
$ echo "sample message" | mail -s "sample mail subject" email_address
Zum Beispiel:
$ echo "Hello world" | mail -s "Test" james@example.com
Output
Nehmen wir an, Sie haben eine Datei, die Sie anhängen möchten. Nennen wir die Datei message.txt. Wie gehen Sie vor? Verwenden Sie den folgenden Befehl.
$ mail -s "subject" -A message.txt email_address
Der -A-Flag definiert den Anhang der Datei. Zum Beispiel;
$ mail -s "Important Notice" -A message.txt james@example.com
Output
Um eine E-Mail in Linux an mehrere Empfänger zu senden, führen Sie aus:
$ mail –s "test header" email_address email_address2
2. Verwendung des mailx-Befehls
Mailx ist die neuere Version des mail-Befehls und wurde früher in anderen Implementierungen als nail bezeichnet. Mailx gibt es seit 1986 und wurde 1992 in POSIX integriert. Mailx ist Teil des Debian-Mail-Compound-Pakets, das für verschiedene Szenarien verwendet wird. Benutzer, Systemadministratoren und Entwickler können dieses Mail-Utility verwenden. Die Implementierung von mailx folgt derselben Syntax wie der mail-Befehl. Um mailx in Debian-/Ubuntu-Systemen zu installieren, führen Sie aus:
$ sudo apt install mailx
Um mailx in RedHat- & CentOS-Systemen zu installieren, führen Sie aus:
$ yum install mailx
Mailx-Befehl testen
Sie können den echo-Befehl verwenden, um die Output direkt an den Mail-Befehl zu leiten, ohne nach CC und der Nachricht aufgefordert zu werden, wie hier gezeigt:
$ echo "message body" | mail -s "subject" email_address
Zum Beispiel,
$ echo "Make the most out of Linux!" | mail -s "Welcome to Linux" james@example.com
3. Verwendung des MUTT-Befehls
Mutt ist ein leichtgewichtiger Linux-Kommandozeilen-E-Mail-Client. Im Gegensatz zum Mail-Befehl, der nur Grundfunktionen bietet, kann Mutt Dateianhänge versenden. Mutt liest auch E-Mails von POP/IMAP-Servern und verbindet lokale Benutzer über das Terminal. Um Mutt in Debian / Ubuntu-Systemen zu installieren, führen Sie aus:
3. Verwendung des MUTT-Befehls
Mutt ist ein ressourcenschonender Linux-Befehlszeilen-E-Mail-Client. Anders als der Mail-Befehl, der nur Grundfunktionen bietet, kann Mutt Dateianhänge versenden. Mutt liest auch E-Mails von POP/IMAP-Servern und verbindet lokale Benutzer über das Terminal. Um Mutt in Debian / Ubuntu-Systemen zu installieren, führen Sie aus:
$ sudo apt install mutt
Um Mutt in Redhat / CentOS-Systemen zu installieren, führen Sie aus:
$ sudo yum install mutt
Testen des Mutt-Befehls
Sie können eine leere Nachricht mit Mutt senden, indem Sie < /dev/null direkt nach der E-Mail-Adresse verwenden.
$ mutt -s "Test Email" email_address < /dev/null
Zum Beispiel,
$ mutt -s "Greetings" james@example.com < /dev/null
Output
Der Mutt-Befehl kann auch verwendet werden, um eine Datei wie folgt anzuhängen.
$ echo "Message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- email_address
Zum Beispiel,
$ echo "Hey guys! How's it going ?" | mutt -a report.doc -s "Notice !" -- james@jaykiarie.com
Output
4. Verwendung des mpack-Befehls
Der mpack-Befehl wird verwendet, um Dateien in MIME-Nachrichten zu kodieren und an einen oder mehrere Empfänger zu senden, oder er kann sogar verwendet werden, um in verschiedene Newsgroups zu posten. Um mpack in Debian / Ubuntu-Systemen zu installieren, führen Sie aus:
$ sudo apt install mpack
Um mpack in Redhat / CentOS-Systemen zu installieren, führen Sie aus:
$ sudo yum install mpack
Testen des mpack-Befehls
Die Verwendung von mpack zum Senden von E-Mails oder Anhängen über die Befehlszeile ist ganz einfach:
$ mpack -s "Subject here" -a file email_address
Zum Beispiel,
$ mpack -s "Sales Report 2019" -a report.doc james@jaykiarie.com
Output
5. Verwendung von sendmail
Dieser Befehl ist ein weiterer beliebter SMTP-Server, der in vielen Distributionen verwendet wird. Um sendmail in Debian/Ubuntu-Systemen zu installieren, führen Sie aus:
$ sudo apt install sendmail
Um sendmail in RedHat / CentOS-Systemen zu installieren, führen Sie aus:
$ sudo yum install sendmail
Testen des sendmail-Befehls
Sie können die folgenden Anweisungen verwenden, um E-Mails in Linux mit dem sendmail-Befehl zu senden:
$ sendmail email_address < file
Zum Beispiel habe ich eine Datei report.doc mit dem folgenden Text erstellt:
Hello there !
Der Befehl zum Senden der Nachricht lautet:
$ sendmail < report.doc james@example.com
Output
Sie können die Option -s verwenden, um den Betreff der E-Mail anzugeben.
Zusammenfassung
Obwohl die Befehlszeilen-E-Mail-Clients in der Command Line viel einfacher und weniger rechenintensiv sind, können Sie sie nur verwenden, um E-Mails an persönliche E-Mail-Domains zu senden und nicht an Gmail- oder Yahoo-Domains, aufgrund der erforderlichen zusätzlichen Authentifizierung. Außerdem können Sie keine E-Mails von externen SMTP-Servern empfangen. Im Allgemeinen ist es viel einfacher, GUI-E-Mail-Clients wie Thunderbird oder Evolution zu verwenden, um das Problem nicht zugestellter E-Mails zu vermeiden.