PHP mail()-Funktion unter Ubuntu aktivieren

Wenn man einen eigenen Server betreibt und die mail()-Funktion von PHP benutzen möchte, so benötigt man auf dem Server einen Mail Transfer Agent kurz MTA. Über diesen MTA versucht die mail()-Funktion ihre Mails zu versenden. Ist kein MTA auf dem System installiert, schlägt der Versand von Mails fehlt. Nun ist es bei vielen Servern nicht gewünscht, einen vollwertigen MTA zu installieren. Abhilfe schafft hier der Nullmailer welcher mittels:

apt get install nullmailer

installiert werden kann. Nullmailer leitet die Mails, an einen Mailserver der Wahl weiter. Dazu muss er konfiguriert werden:

nano /etc/nullmailer/remotes

In dieser Datei wird der Mailserver mit seiner Konfiguration eingestellt:

mail.example.com smtp --port=587 --starttls --user=nutzername --pass=geheim

Nutzt man einen Mailserver mit einem selbstsignierten Zertifikat benötigt eine weitere Option:

mail.example.com smtp --port=587 --starttls --user=nutzername --pass=geheim --insecure

Anschließend sollte der Mailversand ohne Probleme funktionieren. Schlägt er trotzdem fehl, findet man genauere Informationen im Syslog unter /var/log/syslog.

sendmail unter Ubuntu entfernen

Den MTA „sendmail“ über den Paketmanager zu installieren ist eine Sache von Sekunden:

apt-get install sendmail

Interessanter wird dann wenn man versucht „sendmail“ wieder zu entfernen. Der Logik folgend sollte ein einfaches:

service sendmail stop
apt-get remove sendmail

funktionieren. Allerdings läuft der MTA auch danach noch weiter. Abhilfe schafft hier die Deinstallation eines zweiten Paketes, so das der komplette Befehl so aussehen sollte:

service sendmail stop
apt-get remove sendmail sendmail-bin

Möchte man die Konfigurationsdateien auch entfernen, so bietet sich anstatt eines „remove“ ein „purge“ an:

service sendmail stop
apt-get purge sendmail sendmail-bin

Danach hat der MTA das zeitliche gesegnet und man verfügt wieder über eine Installation ohne „sendmail“.