locuse, I can see now what the problem is:
> SA dbg: dns: is Net::DNS::Resolver available? yes > SA dbg: dns: Net::DNS version: 0.66 > SA dbg: config: using "/opt/zimbra/conf/salocal.cf" for site rules pre files > SA dbg: config: read file /opt/zimbra/conf/salocal.cf > SA dbg: config: using "/opt/zimbra/conf/spamassassin" for sys rules pre files > SA dbg: config: read file /opt/zimbra/conf/spamassassin/init.pre > SA dbg: config: read file /opt/zimbra/conf/spamassassin/v310.pre > SA dbg: config: read file /opt/zimbra/conf/spamassassin/v312.pre > [...] > SA dbg: config: using "/opt/zimbra/conf/salocal.cf" for site rules dir > SA dbg: config: read file /opt/zimbra/conf/salocal.cf > SA dbg: config: using "/opt/zimbra/conf/sauser.cf" for user prefs file > netset: cannot include 127.0.0.0/8 as it has already been included > SA info: config: failed to parse line, skipping, in > "/opt/zimbra/conf/salocal.cf": > uridnsbl_skip_domain mytesdomain.loc > SA dbg: plugin: loading Mail::SpamAssassin::Plugin::URIDNSBL from @INC The salocal.cf file is read *before* any .pre files are read. Moreover, the salocal.cf is interpreted as a .pre file (...for site rules pre files) and as a rules file (... for site rules dir). See how the "failed to parse line" log entry precedes the "loading Mail::SpamAssassin::Plugin::URIDNSBL" entry, which is the reason why the uridnsbl_skip_domain command is not yet recognized at this point and fails. The culprit seems to be the setting in amavisd.conf: $sa_siteconfigpath = '/opt/zimbra/conf/salocal.cf'; which is passed on to SpamAssassin by amavisd as: site_rules_filename => $sa_siteconfigpath, The .cf files should not be read before all .pre files are brought in. Mark
