Mails ohne eigenen Mail-Server versenden mit SSMTP

5
(1)

SSMTP Client zum Senden von E-Mails mit SMTP und SMTPS

Unixoide Systeme verwenden in der Regel ein Mail Transfer Agent (MTA) wie Postfix oder Exim für den Versand von E-Mails. Diese vollwertigen MTAs haben einen mächtigen Funktionsumfang, was sich auch in einer komplexen Konfiguration wieder findet.

In Situationen bei diesen ein Linux Host Mails versenden soll, beispielsweise von Cron-Task, dieser im Fall von Fehler den Status per Mail verschicken kann, oder ein Webserver mit einem Ticket oder einem Shop System, dieses mittels PHP Mails versendet. Dafür aber extra ein kompletten MTA mit Postfix oder Exim aufzubauen zu komplex wäre. Auch sind kleine Netzwerke ohne eigenen MTA, ohne gültiges CA-Zertifikat und ohne fixe IP Adresse ohnehin nicht in der lage, Mails direkt versenden zu können, die meisten Mailserver werden den Empfang von diesen Servern ablehnen. Für solche Szenarien ist daher die weiterleitung von Mails an einen SMTP-Smarthost die probate Lösung, diesen Prozess kann das Tool ssmtp übernehmen.

sSMTP Mail Submission STARTTLS

ssmtp ist kein vollwertiger MTA (Mail-Transfer-Agent) wie Postfix oder Exim, viel mehr ist es ein einfaches Tool das E-Mails zu einem autorisierten MTA Smarthost weiterleitet. ssmtp unterstützt die Mail Submission Authentifizierung und STARTTLS. Dabei installiert man ssmtp hier auf CentOS als root wie folgt:

Die Installation auf einer Debian basierten Distribution ist:

Mails über Office 365 aus CLI versenden

Nach der Installation gibt es die zwei Konfigurationsdateien /etc/ssmtp/ssmtp.conf und /etc/ssmtp/revaliases, diese an die eigene Anforderung angepasst werden. Hier wird die Konfiguration erstellt, um E-Mails über ein Office 365 Konto zu verschicken.

  Anstelle des Platzhalter shop@domain.com wird der entsprechende Benutzer verwendet dieser bei Office 365 erstellt wurde, bei password ist das zum Benutzer gehörende Passwort einzutragen, bei domain.com kann die eigene Domain oder outlook.com eingetragen werden. Natürlich funktioniert es auch mit anderen Anbieter, wie Goolge Mail (smtp.gmail.com). Dabei soll nicht unerwähnt sein, das der Zugriff auf das Google-Konto Zugriff durch weniger sichere Apps aktiviert sein muss.

Nun legt man fest welche User den Mailserver nutzen dürfen. Dies wird über die Datei revaliases festgelegt, reverse aliases ist die umgekehrte Version von aliases, dazu editiert man /etc/ssmtp/revaliases.

Es darf root und der User john direkt vom Host senden.

Anschliessend wird eine Datei mit Parameter für ssmtp im richtigen Format erstellt, im Editor deiner wahl durch  Copy Past die nachstehenden Zeilen einfügen, inklusive Punkt am Ende:

  Anstelle To:touser@domain.net die eigentliche Empfänger Email eintragen, und bei From:shop@domain.com die korrekte Absender Email. Sollen weitere Empfänger erreicht werden, können dazu einfach weitere Zeilen To: mit den gewünschten Adressen eingetragen werden.

Jetzt wird getestet, wir senden mit folgendem Command.

Es wird als der angemeldete Benutzer gesendet, ist john eingeloggt kann dieser Mails versenden weil er in revaliases eingetragen ist.

Die verbose Ausgabe in der Console dann etwa wie folgt:

Im maillog sollte die ausgabe etwa wie diese zu finden sein.

Damit nun auch beim Empfänger anstatt root, die eigentliche Absenderadresse erscheint, kann /etc/passwd angepasst werden.

Hier kann das Finger Command chfn angewendet werden.

Der mit Finger chfn geänderte full name in passwd weist danach folgenden Inhalt aus:

Sollen E-Mail nur als root versendet werden, kann auf diese Konfiguration verzichtet werden, dabei wird über ssmtp.conf ermöglicht das eine Absenderadresse übergeben werden kann.

Zu guter Letzt wollen natürlich nicht nur Testmails versendet werden. Für den produktiven Einsatz könnte beispielsweise mit PHP oder einem Shell Script eine Parameterdatei für ssmtp erzeugt werden, diese dann automatisiert die gewünschten Informationen dynamisch bereitstellt. Eine E-Mail versenden mit ssmtp kann auch mit dem folgenden Einzieler ausgeführt werden.

Wie nützlich war dieser Beitrag?

Klicke auf einen Stern, um ihn zu bewerten!

Durchschnittliche Bewertung 5 / 5. Stimmenzahl: 1

Sei der Erste, der diesen Beitrag bewertet.

Es tut mir leid, dass dieser Beitrag nicht hilfreich war!

Lass uns diesen Beitrag verbessern!

Sag mir, wie ich diesen Beitrag verbessern kann?

Beitrag Teilen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.