Whitelisting specific sender addresses for specific recipient addresses

Engels, Jan jan.engels at desy.de
Tue Jan 8 09:26:46 CET 2019


Hi everyone,

I'm currently trying to setup amavisd-new for whitelisting emails **from** a specific sender address **to** a specific recipient address (under CentOS 7). By whitelist I mean no virus/banned/header checks and no spam tagging. The whitelisting should however only apply for specific senders on a per-recipient basis.

Using the @score_sender_maps I can easily assign custom spam scores on a per-recipient basis, as shown in the default amavisd.conf:

    @score_sender_maps = ({ # a by-recipient hash lookup table,
                            # results from all matching recipient tables are summed
    
    ## per-recipient personal tables  (NOTE: positive: black, negative: white)
    # 'user1 at example.com'  => [{'bla-mobile.press at example.com' => 10.0}],
    # 'user3 at example.com'  => [{'.ebay.com'                 => -3.0}],
    # 'user4 at example.com'  => [{'cleargreen at cleargreen.com' => -7.0,
    #                           '.cleargreen.com'           => -5.0}],
    #...
    });

The problem is that using the *_lovers_maps variables does not work using the same syntax, i.e. I've tried for example:

    @virus_lovers_maps = ({ # a by-recipient hash lookup table,
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

    @banned_files_lovers_maps = ({ # a by-recipient hash lookup table,
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

    @bad_header_lovers_maps = ({ # a by-recipient hash lookup table,
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

or using the bypass_*checks_maps variables:

    @bypass_virus_checks_maps = ({
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

    @bypass_banned_checks_maps = ({
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

    @bypass_header_checks_maps = ({
      'user1 at example.com'  => [{'news at foobar.com' => 1}],
    });

and the result in both variants is that **all** emails sent to user1 at example.com get whitelisted (not only the ones coming from news at foobar.com).

Is there some way to get the same behaviour using the *_lovers_maps or bypass_* variables as with the @score_sender_maps variable (i.e on a per-recipient basis)?

Any help would be greatly appreciated.

Cheers
Jan


More information about the amavis-users mailing list