Wenn man einen eigenen Webserver betreibt kommt früher oder später sicherlich der Wusch auf auch E-Mails über diesen zu versenden. Spätestens dann wenn PHP eine Fehlermeldung ausgibt merkt man, dass man sendmail konfigurieren muss. In diesem Artikel geht es darum wie man das sendmail-Kommando unter Ubuntu mithilfe des Programme ssmtp schnell und unkompliziert einrichten kann, so dass über PHP E-Mails versendet werden können.
Postfach bei einem Mail-Provider anlegen
sSMTP versendet E-Mails über einen bestehendes E-Mail-Postfach. Dafür muss also, falls nicht schon vorhanden, ein Postfach angelegt werden, über das die E-Mails versendet werden sollen. Bei der Wahl des Providers muss darauf geachtet werden, dass dieser den Zugang zu seinem SMTP-Server ermöglicht. Dies ist bei den meisten gängigen Providern wie web.de, yahoo oder gmail der Fall. Wenn man bei einem Premium-Anbieter wie ionos oder strato ist, kann man natürlich auch darüber ein Postfach erstellen. Die Adresse zum SMTP-Server findet man in der Regel schnell über eine kurze Anfrage an eine Suchmaschine seiner Wahl.
Installation von sSMTP
Installiert wird sSMTP ganz einfach aus den Paketquellen.
sudo apt-get install ssmtp
Konfiguration von sSMTP
Nun muss sSMTP noch schnell konfiguriert werden. Dafür die zunächst die Konfigurationsdatei öffnen.
sudo nano /etc/ssmtp/ssmtp.conf
Relevante Konfigurationsvariablen sind:
- mailhub: Adresse des SMTP-Servers
- hostname: Domain unter der euer Server erreichbar ist
- authuser: Benutername für euer E-Mail-Postfach (in der Regel die E-Mailadresse, die ihr angelegt habt)
- authpass: Passwort von eurem Postfach
- RewriteDomain: Domainname der standardmäßig in den E-Mail beim Absender angezeigt wird. Kann auskommentiert werden, da diese in der Regel sowieso von PHP in den Mailheader geschrieben wird.
- FromLineOverride: Sollte unbedingt auf YES gesetzt werden, da sonst viele PHP-Skripte wahrscheinlich nicht funktionieren werden, da sie ihre eigene Absender-Adresse nicht verwenden können
sSMTP testen
Um sSMTP zu testen könnt ihr eine Textdatei mit folgenden Inhalt erstellen.
Subject: Testmail
From: Adresse eures Postfaches
Anschließend die Testmail mit dem sendmail-Kommando versenden.
sendmail empfaenger@adresse.de < test.txt
Ihr müsstet nun unter der in sendmail angegebenen Empfänger-Adresse eine neue E-Mail mit dem Betreff Testmail bekommen haben. Wenn dies erfolgreich verlaufen ist, sollte es nun auch über PHP möglich sein E-Mails zu versenden.
Viel Spaß damit 🙂