[exim] Exim and greylisting problem

Top Page
Delete this message
Reply to this message
Author: Oleg R.
Date:  
To: exim-users
Subject: [exim] Exim and greylisting problem
Hi everyone! I ' ve installed exim , previously working for many years with
sendmail, and got to the point that i cant configure exim to understand the
whitelisted domains that i receive mail for. I get all the users in the form
of somebody@??? that have GREYLISTED column equal with zero and
deny greylisting for all the recipients.. Here is a part of my
configuration:

####this part i took from http://www.sigsegv.cx/exim-greylist.html

GREYLIST_TEST = SELECT CASE \
    WHEN now() - block_expires > 0 THEN 2 \
    ELSE 1 \
  END \
  FROM exim_greylist \
WHERE relay_ip = '${quote_mysql:$sender_host_address}' \
  AND from_domain = '${quote_mysql:$sender_address_domain}'


GREYLIST_ADD = INSERT INTO exim_greylist (relay_ip, from_domain, \
  block_expires, record_expires, create_time) \
  VALUES ( '${quote_mysql:$sender_host_address}', \
    '${quote_mysql:$sender_address_domain}', \
    DATE_ADD(now(), INTERVAL 5 MINUTE), \
    DATE_ADD(now(), INTERVAL 1 DAY), \
    now() \
  )


GREYLIST_ATTEMPTS_ADD = UPDATE exim_greylist  \
    set attempts=attempts+1 \
WHERE relay_ip = '${quote_mysql:$sender_host_address}' \
  AND from_domain = '${quote_mysql:$sender_address_domain}'



##### In the users table in mysql "greylisted=0" means they are
whitelisted..#

addresslist white_rcpts = ${lookup mysql{SELECT id FROM users \
    WHERE greylisted="${quote_mysql:0}"}}


##### here i want to check if the recipient is a whitelisted user then not
to greylist ###
##### the problem is this line recipients =! +white_rcpts

acl_check_rcpt:
  accept  hosts = :
  deny    local_parts   = ^.*[@%!/|] : ^\\.
  accept  authenticated = *


warn set acl_m2 = ${lookup mysql{GREYLIST_TEST}{$value}{0}}

  defer message = Greylisted - please try again a little later.
     recipients =! +white_rcpts
     condition = ${if eq{$acl_m2}{0}{1}}
     condition = ${lookup mysql{GREYLIST_ADD}{yes}{no}}


  defer message = Greylisted - please try again shortly.
    condition = ${if eq{$acl_m2}{1}{1}}
    condition = ${lookup mysql{GREYLIST_ATTEMPTS_ADD}{yes}{no}}


############################################################
The problems is that evryone is greylisted, the recipients line is not
checked, or doesn't contain the correct data..can anyone of you see any
mistakes, why that config doesn't work..and how can i see what value has
white_rcpts ????

Thank you a million!!!
With respect Oleg R.