Linux: Mails ohne großen Aufwand verschicken (ssmtp)

Hallo,

heute geht es um das Thema Emails. Besser gesagt geht es um das verschicken von Emails, denn es gibt Fälle, in denen das eigene Linux System Mails verschicken soll, z.B. Logwatch oder ein Webserver, der über Mail-Funktion von PHP Mails verschicken soll. Doch für solche kleinen Aufgaben wäre es viel zu aufwendig Postfix, Sendmail etc. einzurichten. Außerdem ist es Privatleuten ohne feste IP (die meisten Mail-Server verwerfen Emails von Privaten IPs, um Spam zu vermeiden) und ordentliche Zertifikate ohnehin nicht möglich einen solchen Server zu betreiben. Um dieses Problem zu lösen kann man einen sogenannten SMTP-Ralay-Server einrichten. Dieser nimmt die Emails entgegen und verschickt diese über den Mailserver eines „legitimen“ Anbieters. Lange Rede kurzer Sinn, es geht um die Einrichtung des netten Tools ssmtp, das für das oben genannte Problem eine gute Lösung ist:

Als muss ssmtp aus der Paketquelle installiert werden. Hier nochmal der Hinweis: Installiert und konfiguriert wird als root!

sudo su
apt-get update
apt-get install ssmtp

Jetzt geht es an die Einrichtung von ssmtp, hierbei müssen 2 Konfigurationsdateien an die eigenen Bedürfnisse angepasst werden. Fangen wir mit der Datei ssmtp.conf an (ich verwende wie immer nano, aber ihr könnt gerne den Editor eurer Wahl nehmen). Hier wird der zu nutzende Mailserver inklusieve Passwort Benutzer usw. eingetragen werden:

nano /etc/ssmtp/ssmtp.conf

Das Beispiel zeigt die Einrichtung für ein GoogleMail Konto, die FETT geschriebenen Zeilen müsst ihr an eure Situation anpassen. Wenn ihr einen anderen Anbieter habt, googelt einfach den Namen zusammen mit „Postausgangsserver“ und ihr werdet die notwendigen Daten finden.

root=NAME@gmail.com
mailhub=smtp.gmail.com:587
hostname=NAME@gmail.com
UseSTARTTLS=YES
AuthUser=NAME
AuthPass=PASSWORT
FromLineOverride=YES

Wie ihr hier seht wird das Passwort leider im Klartext gespeichert, richtet euch am besten ein extra Email-Konto für ssmtp ein.

Also Nächstes müssen wir noch festlegen, wer den Mailserver benutzen darf, das passiert in der revaliases Datei:

nano /etc/ssmtp/revaliases

Hier tragt ihr in diesem Format ein welche Benutzer den Server verwenden dürfen:

BENUTZER:NAME@gmail.com:smtp.gmail.com:587

Das würde bedeuten, dass der Benutzer BENUTZER Mails von NAME@gmail.com über den Server smtp.gmail.com (Port 587) verschicken darf.

Zum Schluss will das Setup natürlich auch getestet werden:

echo „Test“ | mail EMPFÄNGER@BEISPIEL.DE -s „Betreff“

Das wars auch schon für dieses mal. Vielen Danke fürs Lesen! 🙂 Falls ihr noch irgendwelche Fragen oder Anmerkungen habt stehe ich in den Kommentaren gerne zur Verfügung.

Liebe Grüße,

splix