Die Greylist im Plesk funktioniert ja ganz gut. Nur haben die großen Maildienste immer mehrere Server. Und da diese dann immer wieder aufs neue Blockiert werden würden habe ich den Support von Plesk gefragt, ob diese nicht eine Subnet-funktion mit einbauen könnten. Bis das soweit ist (wenn es denn überhaupt je passiert) habe ich dann einen eigenen Handler gebaut. Er unterstützt derzeit die globale Whitelist für IP's und Absender. Die Datenbank basiert auf MySQL.
Hier das Script: Download (derzeit Version 2)
und hier die Datenbank: Download
Damit das Script auf die Daten von Plesk zugreift habe ich einen neuen Benutzer angelegt, die Tabelle in die Datenbank "psa" erstellt und ihm auf seine tabelle volle rechte gegeben. Auf folgende Tabellen nur lesen (SELECT):
domainaliases
domains
mail
mail_aliases
smtp_poplocks
spamfilter
spamfilter_preferences
Ausserdem sollte man das Greylisting im Plesk deaktivieren ;)
Zur Installation: den Handler einfach aktivieren, nach dem die Tabelle angelegt wurde. Beispiel:
/usr/local/psa/admin/sbin/mailmng --add-handler --handler-name custom_grey --handler-type global --executable /opt/psa/user_handlers/custom_greylisting --context 'greylisting' --hook before-queue --priority 05
Es wird das Perl-Modul Net::CIDR benötigt. Installieren mit: perl -MCPAN -e 'install Net::CIDR'
Todo:
Whitelist der einzelnen Kunden
Bugs:
Die Whitelists der einzelnen Kunden werden global gehandhabt derzeit
Changelog:
Version 1: Veröffentlichung
Version 2: (hoffentlich) alle White und Blacklist von Plesk integriert