Initialisierung:
Viele Linux-Befehle sind zum Senden von E-Mails über die Befehlszeile oder mithilfe eines Bash-Skripts verfügbar. Jeder Befehl zum Senden von E-Mails funktioniert jedoch nicht, wenn kein SMTP-Server ordnungsgemäß im System eingerichtet ist. Sie können Ihren eigenen SMTP-Server einrichten, um E-Mails über die Befehlszeile zu senden, oder Sie können einen kostenlosen SMTP-Server eines bekannten E-Mail-Dienstanbieters wie Gmail oder Yahoo verwenden. In diesem Tutorial wird der SMTP-Server eines Gmail-Kontos verwendet. Um diese Aufgabe auszuführen, müssen Sie ein Gmail-Konto auswählen und die Option 'Weniger sichere Apps zulassen' aktivieren, damit dieses Konto die E-Mail senden kann. Sie können das folgende Tutorial besuchen, um diese Option zu aktivieren.
https://linuxhint.com/how-to-send-email-from-php/
Nachdem Sie diese Option aktiviert haben, müssen Sie die Datei ‘ /etc/ssmtp/ssmtp.conf’ mit ‘root’-Rechten öffnen und die folgenden Zeilen am Ende der Datei hinzufügen. Sie müssen Ihre E-Mail-Adresse auf „AuthUser“ und Ihr E-Mail-Passwort auf „AuthPass“ setzen, um die Einrichtung abzuschließen.
STARTTLS verwenden=JA
FromLineOverride=JA
Wurzel=admin@beispiel.com
Mailhub=smtp.googlemail.com:587
AuthUser=Benutzername@gmail.com
AuthPass=Passwort
Beispiel-1: Verwenden des Sendmail-Befehls
Einer der beliebtesten E-Mail-Versandbefehle von Linux ist `sendmail`. Der Benutzer kann mit diesem Befehl einfach E-Mails über die Befehlszeile senden. Wenn das Sendmail-Paket nicht im System installiert ist, führen Sie den folgenden Befehl aus, um das Paket zu installieren.
$sudogeeignetInstallierenssmtp
Angenommen, der E-Mail-Inhalt wird in einer Datei namens „email.txt“ mit dem folgenden Inhalt gespeichert. Hier wird der Text nach dem ‚Betreff:‘ als E-Mail-Betreff und der restliche Teil als E-Mail-Body gesendet.
email.txt
Betreff: E-Mail mit sendmail senden
E-Mail-Text testen
Führen Sie den Befehl 'sendmail' mit der E-Mail-Adresse des Empfängers wie den folgenden Befehl aus.
$sendmailNutzername@gmail.com<email.txt
Beispiel-2: Verwenden des Befehls „mail“
Der gebräuchlichste Befehl zum Senden von E-Mails unter Linux ist der Befehl `mail`. Dieser Befehl ist unter Ubuntu standardmäßig nicht installiert. Führen Sie den folgenden Befehl aus, um den Befehl `mail` zu installieren.
$sudogeeignetInstallierenmailutilsDer folgende Befehl zeigt die Version dieses Befehls an, wenn er im System installiert ist.
$mail-V
Die Option ‚-s‘ wird im Befehl ‚mail‘ verwendet, um den Betreff der E-Mail zu definieren. Führen Sie den Befehl 'mail' mit der Option '-s' mit dem E-Mail-Betreff und der E-Mail-Adresse des Empfängers wie im folgenden Befehl aus. Es wird nach Cc gefragt: Adresse. Wenn Sie das Feld Cc: nicht verwenden möchten, lassen Sie es leer und drücken Sie die Eingabetaste. Geben Sie den Nachrichtentext ein und drücken Sie Strg+D, um die E-Mail zu senden.
$mail-S 'Gegenstand'Nutzername@gmail.com
Wenn Sie dem Befehl einen E-Mail-Nachrichtentext hinzufügen möchten, verwenden Sie ‘<<<’ operator like the following command.
$mail-S 'Betreff der Nachricht'Nutzername@gmail.com<<< 'Nachrichtentext testen'
Sie können die E-Mail-Adresse des Absenders auch mit dem Befehl 'mail' hinzufügen, indem Sie die Option '-a' verwenden. Der folgende Befehl sendet die E-Mail mit dem Betreff „Nachrichtenbetreff“, dem Namen und der E-Mail-Adresse des Absenders, „Admin<[E-Mail geschützt]>’ und E-Mail-Adresse des Empfängers,[E-Mail geschützt]und Nachrichtentext, 'Testnachricht'.
$ mail-S 'Betreff der Nachricht' -zuVon:Admin<Administrator@beispiel.com >Nutzername@gmail.com<<< 'Testnachricht'
Sie können auch einen E-Mail-Nachrichtentext senden, indem Sie den Befehl echo und pipe( | ) verwenden. Der folgende Befehl verwendet den Pipe-Befehl (|), um den Nachrichtentext zu senden.
$rauswerfen 'Testnachricht' |mail-S 'Betreff der Nachricht'Nutzername@beispiel.com
E-Mails können an mehrere Empfänger gesendet werden, indem Sie den Befehl 'mail' verwenden und die Adressen der Empfänger durch Trennen von Kommas hinzufügen. Mit dem folgenden Befehl wird eine E-Mail an zwei Empfänger gesendet.
$mail-S 'E-Mail testen'Benutzername1@example.com , Benutzername2@beispiel.com<test.txt
Beispiel-3: Verwendung des `mutt`-Befehls
Wie der Befehl `mail` ist der Befehl `mutt` standardmäßig nicht auf Ubuntu installiert. Führen Sie den folgenden Befehl aus, um den Befehl `mutt` zu installieren.
$sudogeeignetInstallierenKöterDer Befehl `mutt` funktioniert ähnlich wie der Befehl `mail`, aber der Befehl `mutt` hat einen eigenen Editor zum Senden der E-Mail. Führen Sie den folgenden Befehl mit der gültigen E-Mail-Adresse aus, um die E-Mail zu senden.
$rauswerfenTestnachricht|Köter-S 'E-Mail testen'Nutzername@beispiel.com
Sie können jede Datei mit der Option ‚-a‘ mit dem Befehl ‚mail‘ oder ‚mutt‘ anhängen. Mit dem folgenden Befehl wird die Datei items.txt beim Senden der E-Mail angehängt.
$rauswerfen 'Testnachricht' |Köter-S 'Betreff der Nachricht' -zuitems.txt-Nutzername@gmail.com
Beispiel-4: Verwenden des 'SSMTP'-Befehls
Ein weiterer E-Mail-Befehl ist der Befehl `ssmtp`. Wenn ssmtp noch nicht installiert ist, installieren Sie zuerst das Paket. Der Installationsbefehl für ssmtp wird im Beispiel-1 gezeigt. ssmtp- und sendmail-Befehle funktionieren ähnlich.
Führen Sie den folgenden Befehl mit der gültigen E-Mail-Adresse aus. Geben Sie den Betreff und den Text der E-Mail ein. Drücken Sie Strg+D, um den Vorgang zu beenden und die E-Mail zu senden.
$ssmtp-Benutzername@gmail.com
Beispiel-5: Verwendung des mailx-Befehls
Sie können HTML-Inhalte als E-Mail-Text senden, ohne nur die Textnachricht zu senden. Erstellen Sie eine HTML-Datei namens „test.html“, die Sie als Nachrichtentext verwenden möchten.
test.html
< html >< Karosserie >>
< h3 >E-Mail-Versand</ h3 >
< machen Größe='2' Farbe='Netz'>Nachrichtentext testen</ machen >
<</ Karosserie >
</ html >
Der Befehl `mailx` funktioniert wie der Befehl `mail`. Sie müssen Content-Type als text/html angeben, um HTML-Inhalte als Nachrichtentext im `mailx`-Befehl zu senden. Der folgende Befehl sendet den Inhalt der Datei „test.html“ als E-Mail-Nachrichtentext.
$ mailx-zu 'Inhaltstyp: text/html' -S 'E-Mail mit mailx senden'<test.html' [E-Mail geschützt] '
Wenn Sie den Posteingang des E-Mail-Kontos des Empfängers überprüfen, wird die Liste der E-Mails wie in der folgenden Abbildung angezeigt.
Abschluss
Nachdem Sie die obigen Befehle richtig geübt haben, hoffen Sie, dass der Leser unter Linux problemlos E-Mails über die Befehlszeile senden kann.