Wenn Sie mit der Befehlszeile arbeiten, möchten Sie vielleicht manchmal manuell eine E-Mail senden, um Informationen zu einzelnen Zeilen zu übermitteln, einen komplexen Befehl oder eine wichtige Notiz für sich selbst oder einen Freund. Normalerweise müssen Sie dazu einen Webbrowser öffnen, sich bei Ihrem E-Mail-Konto anmelden, eine E-Mail mit den erforderlichen Informationen einrichten und diese dann senden.

Das ist zu lang für einen kleinen Prozess, oder? Was, wenn Sie das über die Befehlszeile selbst tun könnten? Ja, das ist möglich, und wir haben bereits einige Möglichkeiten unter Linux besprochen. In diesem Artikel werden wir drei weitere Möglichkeiten zum Senden von E-Mails von der Befehlszeile in Linux diskutieren.

Sendmail

Sendmail, wie Sie vielleicht wissen, ist der klassische SMTP-Server aus der Welt von UNIX. Es ist normalerweise auf vielen Linux-Distributionen vorinstalliert, aber wenn das bei Ihrer Linux-Box nicht der Fall ist, können Sie es einfach aus Standard-Repositories installieren. Zum Beispiel können Benutzer von Debian-basierten Systemen, wie Ubuntu, sie mit dem folgenden Befehl herunterladen und installieren:

 sudo apt-get installiert mailutils 

Nach der Installation können Sie einfach und schnell eine E-Mail mit dem Befehl sendmail senden. Hier ist ein Beispiel:

 echo "Dies ist eine Test-E-Mail erneut" | sendmail [Empfänger-E-Mail-Adresse] 

Der obige Befehl sendet eine E-Mail, die den Text "Dies ist eine Test-E-Mail-Adresse" an "[Empfänger-E-Mail-Adresse]" (ersetzen Sie sie einschließlich der Klammern durch die tatsächliche E-Mail-Adresse des Empfängers).

Wenn ich meine E-Mail-Adresse im obigen Befehl verwendet habe, habe ich folgende E-Mail erhalten:

Wie in meinem Fall könnte die E-Mail in Ihrem Spam-Ordner landen. Überprüfen Sie sie daher dort.

Der Befehl, den wir gerade verwendet haben, enthielt nur den Text der E-Mail. Sie können auch weitere Details wie Betreff, von und mehr hinzufügen. Der folgende Befehl enthält beispielsweise diese zusätzlichen Felder und kann als Skript ausgeführt werden:

 echo "Von: [email protected] An: [email protected] Betreff: HTML-E-Mail testen Dies ist eine Test-E-Mail." | Sendmail -t 

Hier ist der Schnappschuss der E-Mail, die ich erhielt, als der obige Befehl ausgeführt wurde:

Telnet

Sie können den Telnet-Befehl auch verwenden, um eine E-Mail von der Befehlszeile aus zu senden. Führen Sie dazu die folgenden Befehle aus (ersetzen Sie unbedingt "[Absender-E-Mail-Adresse]" und "[Empfänger-E-Mail-Adresse]" durch die E-Mail-Adresse des Absenders bzw. des Empfängers):

 telnet localhost smtp ehlo gmail.com E-Mail von: [Absender-E-Mail-Adresse] rcpt an: [Empfänger-E-Mail-Adresse] Daten 

An dieser Stelle sollten Sie eine Eingabeaufforderung sehen, in der Sie den Hauptteil der E-Mail eingeben müssen und sicherstellen, dass die Nachricht mit einem Zeilenvorschub gefolgt von einem Punkt (.) Endet. Wenn Sie fertig sind, drücken Sie die Eingabetaste, um die E-Mail zu senden, und geben Sie dann quit, um die Anwendung zu quit .

In meinem Fall habe ich folgende E-Mail erhalten:

Ssmtp

SSMTP ist ein Tool, das E-Mails von einem lokalen Computer an einen konfigurierten Mailhost (Mailhub) sendet. Debian-Benutzer können das Programm mit dem folgenden Befehl herunterladen und installieren:

 sudo apt-get installieren Sie ssmtp 

Öffnen Sie nach der /etc/ssmtp/ssmtp.conf Datei /etc/ssmtp/ssmtp.conf und bearbeiten Sie sie, um sicherzustellen, dass sie die folgenden Informationen enthält:

 mailhub = smtp.gmail.com: 587 UseSTARTTLS = JA AuthUser = [Absender-E-Mail-Adresse] AuthPass = [Absender-E-Mail-Login-Passwort] TLS_CA_File = / etc / pki / tls / certs / ca-bundle.crt 

Wie immer, ersetzen Sie "[Absender-E-Mail-Adresse]" und "[Absender-E-Mail-Login-Passwort]" durch entsprechende Werte. Verwenden Sie den folgenden Befehl, um eine E-Mail mit ssmtp zu senden:

 ssmtp [receivers-email-address] Betreff: [subject-line-here] [Nachrichtentext] 

Ersetzen Sie erneut "[receivers-email-address]", "[subject-line-here]" und "[Body of email]" durch entsprechende Werte und senden Sie die E-Mail mit "Strg + D".

Wenn Sie den folgenden Fehler erhalten,

 ssmtp: Autorisierung fehlgeschlagen (534 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm8525341pad.28 - gsmtp) 

Das liegt wahrscheinlich daran, dass Google Mail ssmtp als sichere Anwendung behandelt. Um diesen Fehler zu beheben, müssen Sie eine bestimmte Einstellung in Ihrem Google Mail-Konto ändern. Weitere Informationen dazu und zu den möglichen Risiken finden Sie auf dieser Google-Supportseite.

Als ich den obigen Befehl ausgeführt habe, habe ich folgende Email erhalten:

Fazit

Damit haben wir insgesamt fünf Befehlszeilen-Tools besprochen, mit denen Sie E-Mails von der Linux-Befehlszeile aus senden können. Ein wichtiger Punkt, der hier erwähnt werden sollte, ist, dass Sie diese Befehle nicht nur verwenden können, um E-Mails manuell über die Befehlszeile zu senden, sondern auch, um Benachrichtigungs-E-Mails von Skripts zu generieren.

Haben Sie jemals eines dieser Tools verwendet? Wie war deine Erfahrung? Teilen Sie Ihre Gedanken in den Kommentaren unten.