Ich war mit der Erkennungsrate von rspamd nie so richtig glücklich. Jetzt hatte ich endlich mal Zeit mir das näher anzusehen.
Mein Problem war, dass ich alle eingehenden Emails über fetchmail abhole. Das wird von Grommunio ja auch so unterstützt. rspamd sieht dann aber nur, dass die Email von IP 127.0.0.1 / localhost kommt und führt deshalb nur eine recht begrenzte Anzahl von Prüfungen durch. Es wird insbesondere kein Bayes Classifier und keine RBLs genutzt.
Nach einiger Suche bin ich dann auf die Lösung gestoßen, das External Relay Module:
https://rspamd.com/doc/modules/external_relay.html
Letztlich stellt für rspamd auch fetchmail ein solches externes Relay dar.
In /etc/[grommunio-antispam|rspamd]/local.d/external_relay.conf
muss folgende Konfiguration definiert werden:
enabled = true;
# rules are defined inside rules {} block
rules {
# this is the name of the symbol we will register
FETCHMAIL {
# a recognised strategy MUST be defined
strategy = "local";
}
}
Damit nutzt rspamd jetzt die IP Adresse des letzten Received Headers der nicht aus dem internen Netz stammt. Die Email kommt nicht mehr aus dem lokalen Netz und es werden alle (aktiven) Prüfungen durchlaufen.
Die Erkennungsqualität hat sich damit für mich deutlich verbessert.
Aus meiner Sicht könnte man das so auch als Standardkonfiguration für Grommunio nutzen. Selbst wenn Fetchmail nicht genutzt wird funktioniert alles korrekt, weil schlicht keine Received Header aus dem lokalen Netz in den Emails enthalten sind.