Obwohl seit dem Senden der ersten E-Mail-Nachricht ein halbes Jahrhundert vergangen ist, verlassen wir uns täglich auf alte Technologien. Moderne E-Mail-Clients und -Dienste sind schlank, einfach zu bedienen und mit erweiterten Funktionen ausgestattet, als die meisten Benutzer wissen.
Manchmal müssen Sie jedoch nur eine einfache Textnachricht senden, und Sie können möglicherweise nicht immer eine GUI-Anwendung starten oder sich bei einer Webmail-Oberfläche anmelden, um die Aufgabe zu erledigen. In solchen Situationen ist es praktisch zu wissen, wie man E-Mails von der Linux-Befehlszeile aus sendet, und dieser Artikel erklärt, wie man genau das macht.
Bevor wir beginnen
Bevor wir die intelligentesten Möglichkeiten zum Senden von E-Mails über die Linux-Befehlszeile beschreiben, erfahren Sie in diesem Artikel, was Sie erwarten können:
Sie lernen, E-Mail-Nachrichten über den SMTP-Server Ihres E-Mail-Anbieters an eine beliebige E-Mail-Adresse zu senden.
Sie werden nicht lernen, wie Sie Ihren E-Mail-Server einrichten und zum direkten Senden von E-Mail-Nachrichten verwenden.
Warum nicht? Weil sowieso niemand E-Mails akzeptieren würde, die von Ihrem E-Mail-Server gesendet werden. Wie Sie wissen, ist Spam ein großes Problem, wenn es um E-Mails geht, und praktisch alle E-Mail-Dienstanbieter und Mailserver enthalten jetzt mindestens einen grundlegenden Spam-Schutz, der dazu führt, dass alle E-Mails aus zweifelhaften Quellen abgelehnt werden.
Ein begeisterter Linux-Benutzer mit einem DIY-E-Mail-Server gilt als zweifelhafte E-Mail-Quelle. Darüber hinaus blockieren die meisten Internetdienstanbieter Port 25, den Standardport für SMTP-Verbindungen, sodass Sie höchstwahrscheinlich nicht einmal Nachrichten senden können.
Anstatt sich die Mühe zu machen, einen Heim-E-Mail-Server zum Laufen zu bringen, ist es viel einfacher, einen E-Mail-Dienst wie Google Mail zu verwenden, den wir für diesen Artikel verwenden werden.
Wenn Sie dies noch nicht getan haben, melden Sie sich bei Ihrem Google Mail-Konto an und aktivieren Sie den IMAP-Zugriff über die Registerkarte Weiterleitung und POP / IMAP in den Einstellungen. Sie sollten auch Apps zulassen, die eine weniger sichere Anmeldetechnologie verwenden.
Methode #1: Mutt
Mutt ist ein ehrwürdiger E-Mail-Client. Es wurde 1995 von Michael Elkins erstellt und seitdem ständig aktualisiert. Trotz seiner Befehlszeilennatur unterstützt Mutt viele nützliche Funktionen, darunter Tastaturmakros, PGP / MIME, Nachrichtenthreading, Anhänge und vieles mehr. Sie können es mit jedem E-Mail-Dienst verwenden, der POP3- oder IMAP-Zugriff bietet.
Zuerst müssen Sie Mutt aus den Repositorys Ihrer Distribution installieren:
Dann können Sie Mutt starten:
Sie werden aufgefordert, ein E-Mail-Verzeichnis zu erstellen. Wählen Sie „Ja“, um es zu erstellen. Mutt sollte gestartet werden und Ihnen mitteilen, dass kein Postfach geöffnet ist. Nachdem Sie bestätigt haben, dass Mutt funktioniert, müssen Sie einige grundlegende Verzeichnisse und die Hauptkonfigurationsdatei muttrc erstellen.
$ mkdir ~/.mutt/cache/bodies
$ berühren ~/.mutt/Zertifikate
$ touch ~/.mutt / muttrc
Öffnen Sie nun die Konfigurationsdatei in Ihrem bevorzugten Texteditor und kopieren Sie & fügen Sie die folgende Konfiguration ein (ändern Sie die Standardeinstellungen in diejenigen, die Ihrem Google Mail-E-Mail-Konto entsprechen):
Setzen Sie smtp_url = „smtp://:587/“
setze smtp_pass = $imap_pass
setze ssl_force_tls = yes
# IMAP
setze imap_user = [email protected]
set imap_pass = passwort
set spoolfile = imaps://imap.gmail.com/POSTEINGANG
set ordner = imaps://imap.gmail.com/
set rekord = „imaps://imap.gmail.com//Gesendet Mail“
set passwort = „imaps://imap.gmail.com//Entwürfe“
set mbox =“imaps:// imap.gmail.com//Alle E-Mails“
set header_cache = „~/.mutt/cache/headers“
setze message_cachedir = „~/.mutt/cache/bodies“
set certificate_file = „~/.mutt/Zertifikate“
# EDITOR
set editor = „nano“
Sie können Mutt jetzt starten und es sollte Ihre E-Mails automatisch für Sie abrufen. Um Ihre erste E-Mail-Nachricht über die Befehlszeile zu senden, drücken Sie „m“ auf Ihrer Tastatur. Wählen Sie, ob Sie eine verschobene Nachricht nicht abrufen möchten, und geben Sie die E-Mail-Adresse des Empfängers, den Betreff der E-Mail-Nachricht und schließlich den Nachrichtentext ein.
Bevor Mutt die E-Mail-Nachricht sendet, können Sie sie ändern und eine Datei anhängen. Sobald Sie damit zufrieden sind, können Sie „y“ drücken, um es zu senden. So einfach ist es, eine E-Mail von der Linux-Befehlszeile aus zu senden!
Methode #2: aerc
Es wird Sie wahrscheinlich nicht überraschen zu erfahren, dass Mutt nicht der einzige Befehlszeilen-E-Mail-Client für Linux ist, obwohl es sicherlich der beliebteste ist. Während es den Rahmen dieses Artikels sprengen würde, alle Befehlszeilen-E-Mail-Clients für Linux zu beschreiben, gibt es zwei weitere Clients, über die Sie Bescheid wissen sollten, beginnend mit aerc.
Aerc wurde entwickelt, um effizient und erweiterbar zu sein und bietet Unterstützung für mehrere Konten, Tastenkombinationen im Vim-Stil, einen interaktiven Terminal-Webbrowser, der HTML-E-Mails rendern kann, und vieles mehr.
Das Beste ist, dass aerc wesentlich einfacher einzurichten ist als Mutt , aber es besteht die Möglichkeit, dass es nicht in den Repositorys Ihrer Distribution enthalten ist. In diesem Fall können Sie es selbst kompilieren, indem Sie den Anweisungen in den offiziellen Anweisungen folgen.
Wenn Sie aerc auf Ihrem System installiert haben, können Sie es mit dem Befehl „aerc“ starten. Aerc enthält einen praktischen Setup-Assistenten, mit dem Sie Ihr Konto konfigurieren können — Sie müssen die Konfigurationsdateien nicht manuell bearbeiten!
Sobald Sie mit der Eingabe grundlegender Kontoinformationen und der Konfiguration einiger grundlegender Einstellungen fertig sind, können Sie entweder das mitgelieferte Lernprogramm lesen oder direkt in Ihren Posteingang gehen.
Um eine neue Nachricht zu verfassen, müssen Sie nur Shift + C drücken.
Methode #3: swaks
Um E-Mails von der Linux-Befehlszeile aus auf die intelligenteste Weise zu senden, müssen Sie über den Tellerrand hinausschauen und Softwaretools so verwenden, wie sie nicht verwendet werden sollten. Die Swaks-Anwendung ist ein Allzweck-SMTP-Transaktionstester, mit dem E-Mail-Nachrichten über Google Mail und andere Anbieter gesendet werden können.
Installieren Sie es zunächst wie jede andere Anwendung:
Geben Sie nun den folgenden Befehl ein (stellen Sie sicher, dass Sie Ihre eigene Google Mail-Adresse angeben), um Ihre Verbindung zu testen:
Sie werden aufgefordert, Ihren Google Mail-Benutzernamen (Ihre E-Mail-Adresse) und Ihr Passwort einzugeben. Sie sollten eine E-Mail-Adresse von sich selbst erhalten, die bestätigt, dass der Test erfolgreich war. Verwenden Sie die folgende Syntax, um eine tatsächliche E-Mail-Nachricht zu senden:
So können Sie eine E-Mail-Nachricht mit Swaks mit einem einzigen Terminalbefehl senden.
Methode 4: sSMTP
sSMTP ist ein E-Mail-Zustellprogramm, das E-Mails von einem Computer an einen Mail-Hub (SMTP-Server) zustellen soll. Dies bedeutet, dass Sie es verwenden können, um eine E-Mail-Nachricht an eine andere Person zu senden, aber Sie können es nicht verwenden, um eine E-Mail-Nachricht zu empfangen, die Ihnen von einer anderen Person gesendet wurde.
Sie können sSMTP installieren, indem Sie das entsprechende Paket aus Repositorys installieren:
Die Konfiguration erfolgt durch Bearbeiten von /etc/ssmtp/ssmtp.conf Konfigurationsdatei:
[email protected]
# Der Mailserver (an den die Mail gesendet wird), sowohl Port 465 als auch 587 sollten akzeptabel sein
# Siehe auch https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# Die Adresse, von der die Mail für die Benutzerauthentifizierung zu stammen scheint.
rewriteDomain=gmail.com
# Der vollständige Hostname. Muss korrekt gebildet werden, vollqualifizierte Domain-Namen oder Google Mail wird die Verbindung ablehnen.
hostname=yourlocalhost.yourlocaldomain.tld
# Verwenden Sie SSL/TLS, bevor Sie mit der Aushandlung beginnen
TLS_CA_FILE=/etc/ssl/certs/ca-certificates.crt
UseTLS=Yes
UseSTARTTLS=Yes
# Benutzername/Passwort
AuthUser=Benutzername
AuthPass=Passwort
AuthMethod=LOGIN
# Email ‚From header’s can override the default domain?
FromLineOverride=ja
Um eine E-Mail-Nachricht zu senden, müssen Sie das Paket mailutils (Debian-basierte Systeme) oder mailx (RHEL-basierte Systeme) installieren, um den Befehl mail zu verwenden, um Ihre E-Mail-Nachricht an sSMTP zu übergeben, damit sie an Google Mail gesendet werden kann. Wie diese:
Methode #5: Telnet
Die letzte Methode, die wir uns ansehen möchten, ist die geekigste von allen, aber sie könnte sich irgendwann in Ihrem Leben als nützlich erweisen. Diese Methode basiert auf Telnet, einem Client-Server-Protokoll, das zum Herstellen einer Nur-Text-Remoteverbindung über ein Netzwerk verwendet wird.
Das Tolle an dieser Methode ist, dass höchstwahrscheinlich bereits ein Telnet-Client auf Ihrer Linux-Distribution installiert ist. Was nicht so toll ist, ist, dass es viele Schritte zu durchlaufen. Da wir Google Mail für die Zwecke dieses Artikels verwenden, müssen Sie sicherstellen, dass Ihr Telnet-Client die SSL-Verschlüsselung unterstützt:
Sie können dann Ihren Telnet-Client starten und ihn mit dem SMTP-Server von Google Mail verbinden:
Da es unhöflich wäre, uns nicht vorzustellen, können Sie den Server so begrüßen:
Wenn Sie eine positive Antwort erhalten haben, können Sie mit der Authentifizierung fortfahren:
Geben Sie zuerst Ihren in base64 codierten Benutzernamen und dann Ihr ebenfalls in base64 codiertes Passwort ein. Der SMTP-Server sollte jedes Mal mit „334 UGFzc3dvcmQ6“ antworten.
Jetzt ist es Zeit, Ihre E-Mail-Adresse anzugeben:
Geben Sie dann den Empfänger an:
Teilen Sie dem SMTP-Server schließlich mit, dass Sie eine E-Mail schreiben möchten:
Sie können nun den Betreff Ihrer E-Mail eingeben und zur Bestätigung die Eingabetaste drücken. Fahren Sie mit dem Text der E-Mail fort und drücken Sie zur Bestätigung die Eingabetaste. Um Ihre E-Mail-Nachricht zu schließen, geben Sie Folgendes ein:
Sie sollten eine Bestätigungsnachricht sehen, die wie folgt aussieht: 250 2.0.0 OK 1630506266 n10sm56478ejk.86 – gsmtp
Geben Sie den folgenden Befehl ein, um die Verbindung zu beenden und die E-Mail zu senden:
Fazit
Ist das Senden von E-Mail-Nachrichten über die Linux-Befehlszeile unpraktisch? Vielleicht, aber Sie wissen nie, wann diese Fähigkeit nützlich sein wird. Selbst wenn Sie es nie sinnvoll einsetzen, können Sie sich zumindest gut fühlen, wenn Sie wissen, dass Sie als Linux-Benutzer etwas fortgeschrittener geworden sind.