I have been having a difficult time getting URIDNSBL to work and I finally figured out why. I was trying to do the loadplugin in a user_prefs file in order to test out a new configuration.
The problem is that the builtin plugins can not be enabled from user_prefs because the default rules (25_uribl.cf, etc) will be run earlier and contain ifplugin conditionals. When the plugin is loaded by user_prefs it will be too late and the rules will never get loaded.
I can see equal arguments for this being considered a feature or a bug so I mention it mostly in case it helps someone else avoid the frustration that it caused me.
personally, consider it a very severe, server security compromising bug if user_prefs COULD load a plugin.... Remember.. plugins are perl code loaded into SA. They can do anything a perl program can, should they care to.... And the loadplugin command can load *any* perl code anywhere on the system if you specify a path...
This particular behavior is pretty well documented in the manpage for Mail::SpamAssassin::Conf.. loadplugin is listed in the "Administrator Settings" section.. With the following header:
ADMINISTRATOR SETTINGS
These settings differ from the ones above, in that they are considered 'more privileged' -- even more than the ones in the PRIVILEGED SETTINGS section. No matter what allow_user_rules is set to, these can never be set from a user's user_prefs file.
In general everything in that section could be abused by a user to gain privileges as some other user, or facilitate DoS attacks on SA. Hence, why they aren't allowed in user_prefs.. ever.