By default mail with bad headers is quarantined for review but are still delivered to the users mailbox. If you would like to change this to discard mail with bad headers you can change the setting under Warden -> Settings -> Filter Settings -> Final bad header destiny from pass to discard.
To disable all bad header tests:
To disable all bad header tests on Centos/RHEL edit the file /etc/amavisd/warden.conf or on Debian/Ubuntu edit the file /etc/amavis/conf.d/99-warden and search for the @bypass_header_checks_maps option.
Change from:
@bypass_header_checks_maps = (\%bypass_header_checks, \@bypass_header_checks_acl, \$bypass_header_checks_re);
Change to:
@bypass_header_checks_maps = [1];
After making these changes restart Amavis:
// Centos/RHEL/Cloudlinux
systemctl restart amavisd
// Debian/Ubuntu
systemctl restart amavis
To disable all bad header tests for a specific policy bank:
If we want to keep bad header tests enabled for incoming email but disable them for our own users. Edit the file /etc/amavisd/warden.conf or on Debian/Ubuntu edit the file /etc/amavis/conf.d/99-warden and add the bypass_header_checks_maps => [1] line to the SUBMISSION and SENDMAIL policy banks:
## POLICY BANKS
# submission, SMTPS services
$policy_bank{'SUBMISSION'} = {
originating => 1,
warnbadhsender => 0,
terminate_dsn_on_notify_success => 0,
bypass_header_checks_maps => [1],
};
# sendmail, pickup services
$interface_policy{'10027'} = 'SENDMAIL';
$policy_bank{'SENDMAIL'} = {
originating => 1,
warnbadhsender => 0,
terminate_dsn_on_notify_success => 0,
bypass_header_checks_maps => [1],
};
After making these changes restart Amavis:
// Centos/RHEL/Cloudlinux
systemctl restart amavisd
// Debian/Ubuntu
systemctl restart amavis
To disable specific bad header tests:
There is an $allowed_header_tests option by which you can define what should be looked up during the bad-header checks, and the list is as follows:
other catchall for everything else - normally not used
mime Bad MIME (sub)headers or bad MIME structure
8bit Invalid non-encoded 8-bit characters in header
control Invalid control characters in header (CR or NUL)
empty Folded header field made up entirely of whitespace
long Header line longer than RFC 2822 limit of 998 characters
syntax Header field syntax error missing Missing required header field
multiple Duplicate or multiple occurrence of a header field
To disable certain tests on Centos/RHEL edit the file /etc/amavisd/warden.conf or on Debian/Ubuntu edit the file /etc/amavis/conf.d/99-warden and search for the $allowed_header_tests option. Setting a test to 0 will disable that test:
$allowed_header_tests{'multiple'} = 0;
$allowed_header_tests{'missing'} = 0;
After making these changes restart Amavis:
// Centos/RHEL/Cloudlinux
systemctl restart amavisd
// Debian/Ubuntu
systemctl restart amavis