E-Mails mit SSMTP von Localhost senden


02.04.2014 | PhilVanB | Programmierung | PHP Linux

In der Webentwicklung werden Projekte zunächst lokal programmiert, bevor sie dann live geschaltet werden. Wird im Rahmen der Entwicklungen mit PHP die mail()-Funktion verwendet, dann ist es wichtig, dass E-Mails vom Localhost aus versendet werden können. Dieser Blogbeitrag zeigt, wie man E-Mails mit SSMTP vom Localhost aus senden kann und zwar auf einem Ubuntu-System mit einem Apache-Webserver.

SSMTP installieren

Als erstes muss SSMTP installiert werden. Das geht mit folgendem Befehl über das Terminal:

sudo apt-get install ssmpt

Dann findet man heraus, wo SSMTP installiert wurde:

whereis ssmtp

‘ssmtp.conf’-Datei konfigurieren

Man wechselt dann in den Ordner ssmtp und öffnet die ‘ssmtp.conf’-Datei, z. B. mit dem nano-Texteditor. Die Datei passt man wie folgt an:


# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=email.address@your-domain.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail.your-domain.com
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=localhost
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
# FromLineOverride=YES
UseSTARTTLS=yes
UseTLS=yes
AuthUser=mail@insignis-sites.com
AuthPass=deinPasswort
FromLineOverride=yes

Um in den Zeilen 'mailhub' oder 'STARTTLS' und 'TLS' die richtigen Einstellungen zu setzen, kann man die Einstellungen aus dem E-Mail-Programm wie z.B. Thunderbird einsehen und zur Hilfe nehmen.

'sendmail_path' richtig setzen

Schließlich muss man in der 'php.ini'-Datei noch die Zeile mit 'sendmail_path' entsprechend setzen:

sendmail_path = /usr/sbin/ssmtp -t

Die 'php.ini'-Datei findet man meist unter dem Pfad '/etc/php5/apache2'. Zuletzt gilt es, den Webserver neu zu starten:

sudo service apache2 restart