Wie schon berichtet wird das Packet „Postfix Forwarder“ nach dem Update der pfSense auf Version 2.2.x unbrauchbar gemacht. Hier eine kurze Anleitung wie man Postfix wieder zum Laufen bekommt. Zuerst den Postfix Konfigurationsordner wegsichern. Ich nutze dafür WinSCP. Der Ordner /etc ist ein symbolischer Link von /usr/local/etc in den PBI Ordner /usr/pbi/postfix-amd64/etc/postfix. Die darin enthaltenen Dateien komplett wegsichern:
1 2 |
root@pfsense:/# l /usr/local/etc/po* lrwxr-xr-x 1 root wheel 34 Apr 5 14:05 /usr/local/etc/postfix -> /usr/pbi/postfix-amd64/etc/postfix |
Jetzt das Paket „Postfix Forwarder“ vollständig deinstallieren. Den Inhalt des Ordners habe ich bei meiner Installation vollständig gelöscht: „rm -r /usr/local/etc/postfix/“ oder mit WinSCP. Die pfSense am besten neu starten und das Paket wieder installieren. Nun die Konfigurationsdaten wieder per WinSCP zurücksichern. Postfix vermisst nach der Re-Installation drei wichtige Libraries im Systemordner und stürzt ab. Diese fehlenden Libraries müssen wir manuell nach /usr/lib/ kopieren:
1 2 3 4 |
cd /usr/lib cp /usr/pbi/postfix-amd64/lib/libpcre.so.3 . cp /usr/pbi/postfix-amd64/lib/libsasl2.so.3 . cp /usr/pbi/postfix-amd64/lib/libspf2.so.2 . |
Wer SASL AUTH für einen Relayhost nutzt, erhält folgende Fehlermeldung: „smtp_sasl_auth_enable is true, but SASL support is not compiled in„. In diesem Fall müssen noch die Cyrus SASL Libraries nachinstalliert werden. Mit PKG geht das ganz einfach:
1 |
pkg install cyrus-sasl-2.1.26_9 |
Sollte PKG noch nicht genutzt worden sein, einfach „pkg“ tippen und mit „y“ beantworten. Damit wird PKG installiert. Zuerst das Repository auf den neusten Stand bringen mit „pkg update„. Jetzt sollte Postfix nach einem Reload laufen:
1 |
Apr 5 17:24:13 pfsense postfix/smtp[79395]: A6DCE28589: to=<abcdefg@gmail.com>, relay=46.252.24.88[46.252.24.88]:25, delay=0.58, delays=0.01/0/0.33/0.24, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 09DB05C) |
Nachtrag: Die Fehlermeldung „PHP Fatal error: Call to undefined function sqlite_open() in /usr/local/www/postfix.php on line 457“ erscheint auf dem Dashboard wegen einer inkompatibilität von SQLite. Bis dieser Fehler behoben ist sollte man den Logtransfer in SQLite abschalten:
Hi, funktioniert bei mir leider nicht. Gleicher crash, gleiches Problem mit sql
Call to undefined function sqlite_open() in /usr/local/www/postfix.php on line 544
Der Postfix sollte funktionieren. Das ist lediglich die Logfunktion des Pakets, welche das Textlog /var/log/maillog in die pfSense SQLite Datenbank schiebt.
Siehe: https://forum.pfsense.org/index.php?topic=87269.msg509900#msg509900
Ja, sorry, stimmt natürlich.
Hoffentlich gibt es bald ein fix, die Logfunktion ist schon sehr gut.
Muy buena solución, Gracias
Very Good Solution, Thanks
Tres Bonne Solution, Merci
I don’t speak German
Hello Eduardo! Greetings from Germany…