Apache2 auf Linux mit ssmtp Mails über SMTP verschicken lassen (php.ini)

Anders als unter Windows ist es unter Linux nicht so ohne weiteres möglich, mit PHP Mails über einen entfernten SMTP-Server zu verschicken. Die einfachste Variante, um dies dennoch zu realisieren, ist die Verwendung des Tools ssmtp.

Installation und Konfiguration von ssmtp

Die Installation läuft über apt-get

sudo apt-get install ssmtp

die .config-Datei findet sich wie üblich unter /etc/ssmtp/ssmtp.conf. Diese muss nun angepasst werden

sudo nano /etc/ssmtp/ssmtp.conf

Hier kann man nun über die verschiedenen Parameter für die SMTP-Verbindung konfigurieren:

mailhub=smtp.mailserver.com:587
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
AuthUser=Username
AuthPass=Password

Diese Angaben sollten schon ausreichen, um eine Mail versenden zu können. Zum Test rufen wir ssmtp wie folgt auf.

echo | ssmtp -s "test" test@mailserver.com

Damit schickt der User „test“ eine Mail an test@mailserver.com. Wenn keine Ausgabe folgt, dann hat der Mailversand funktioniert.

Anpassung der php.ini zum Mailversand

In der php.ini (normalerweise unter /etc/php5/apache2/php.ini) muss die Variable sendmail_path angepasst werden. Standardmäßig ist diese Zeile auskommentiert. Hier wird das Standard-Mailprogramm für PHP mit den entsprechenden Argumenten festgelegt:

sendmail_path = /usr/sbin/ssmtp -t

Damit wird PHP angewiesen, ssmtp zum Versenden von Mails zu verwenden.

 

Facebooktwittergoogle_plusmail

Schreibe einen Kommentar

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