Hello Zhang,
I've solved like this:
I created the file /etc/amavisd/whitelist
where I inserted the addresses of the senders that I wanted to whitelist, one per line.
it works also for whole domains, but without the @
after in /etc/amavisd/amavisd.conf I decommented and modified the following section:
# This policy will perform virus checks only.
read_hash(\%whitelist_sender, '/etc/amavisd/whitelist');
@whitelist_sender_maps = (\%whitelist_sender);
$interface_policy{'10026'} = 'VIRUSONLY';
$policy_bank{'VIRUSONLY'} = { # mail from the pickup daemon
bypass_spam_checks_maps => ['@whitelist_sender_maps'], # don't spam-check this mail
bypass_banned_checks_maps => ['@whitelist_sender_maps'], # don't banned-check this mail
bypass_header_checks_maps => ['@whitelist_sender_maps'], # don't header-check this mail
};
Checked the logs and the headers of the messages... it works perfectly!
The messages are with no score, have the WHITELISTED tag, and get checked for virus. Exactly what I wanted.
Delivery time lowered from 2500-3000 ms to roughly 150ms.
If you want to make this method a quick "how to" in your doc repository, feel free to use it.