Mit sendmail Mails verschicken
Einleitung
Es ist möglichmöglich, mit Linux Mails direkt aus der Kommandozeile zu versenden. Administratoren oder Programmierer schicken sich damit hähäufig Status MeldungenStatusmeldungen oder andere Nachrichten. Auf vielen Webseiten wird hähäufig dazu die PHP Funktion sendmail verwendet. Dazu brauchst du einen E-Mail Mail-Account bei einem Provider deiner Wahl. Wenn der Mail-Server im gleichen Netz wie der Web ServerWebserver steht, und keine Kommunikation üüber das Internet erfolgen muss, kann bei richtiger Kommunikation ohne einen E-Mail Mail-Account, eine E-Mail versendet werden.
sendmail gilt als veraltet und sollte dementsprechend mit Bedacht verwendet werden.
Voraussetzungen
Um jetzt E-Mails mit sendmail üüber das Internet zu versendenversenden, benöbenötigst du folgende Informationen zu deinem E-Mail Mail-Account:
- SMTP-Adresse
- SMTP-Port
- Login Daten (Benutzername und Kennwort)
E-Mail versenden
Wenn du E-Mails versenden möchtestmöchtest, kannst du das üüber unterschiedliche MöMöglichkeiten machen. Alle gehen direkt von der Kommandozeile aus. Du musst also keine GUI oder sonstige Web OberfläOberfläche ööffnen.
Du benötigstbenötigst, um E-Mails zu versenden das Paket ssmtp. Dieses kökönnen wir einfach nachinstallieren.
sudo apt install ssmtp -y
E-Mail nur mit Betreff
echo "Subject: Test E-Mail" | sendmail mail@pc-wiki.de
E-Mail aus Datei lesen
Zuerst legen wir eine Datei anan, in dem sich der E-Mail Inhalt befindet.
nano email.txt
In dieser Textdatei füfügst du den Text ein, den du gerne versenden mömöchtest. Den Betreff, E-Mail Mail-Adressen und den Nachrichten TextNachrichtentext kannst du natünatürlich gerne äändern. Wichtig ist, dasdass die Struktur so bestehen bleibt.
Cc: mail@phil-un.de
Subject: E-Mail aus Datei
From: server@pc-wiki.de
Content-Type: text/html; charset="utf8"
<html>
<body>
<div style="
background-color:
#abcdef; width: 300px;
height: 300px;
">
</div>
<h1>Status Meldung</h1>
<p>Die E-Mails werden erfolgreich vom Server versendet!</p>
</body>
</html>
Zum Schluss mümüssen wir nur noch die E-Mail versenden. Dort kannst du den EmpfäEmpfänger natünatürlich wieder anpassen.
sendmail mail@pc-wiki.de < mail.txt
E-Mail üüber STMP Server versenden
Wenn du E-Mails üüber den SMTP Server versenden mömöchtest, um z.B. E-Mails üüber einen E-Mail ServerMailserver zu versenden. Musst du die Login DatenLogindaten in einer Konfigurationsdatei angeben. ÖÖffne zuerst die Konfigurationsdatei
sudo nano /etc/ssmtp/ssmtp.conf
Dort füfügst du folgenden Code ein. Die Login DatenLogindaten sowie den Mail Mail-Server musst du noch anpassen.
UseSTARTTLS=YES
root=server@phil-un.de
mailhub=mail.server.de:587
AuthUser=<server>
AuthPass=<Pa$$w0rd>
Und nun versendest du eine E-Mail mit dem folgenden Befehl
ssmtp mail@pc-wiki.de < mail.txt
Wenn eine Fehlermeldung erscheint, kannst du diese nutzen um den Fehler zu finden.
Beispiel: ssmtp: Authorization failed