"Белые списки" взяты из конфига этого http://forum.lissyara.su/viewtopic.php?f=14&t=2747
------
делал таблицу в бд экзима
Код: Выделить всё
CREATE TABLE exim_greylist (
id integer NOT NULL auto_increment,
relay_ip varchar(64),
from_domain varchar(255),
block_expires datetime NOT NULL,
record_expires datetime NOT NULL,
origin_type enum('MANUAL','AUTO') NOT NULL default 'AUTO',
create_time datetime NOT NULL,
PRIMARY KEY (id)
);
Код: Выделить всё
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 7 DAY), \
now() \
)
Код: Выделить всё
## Greylisting
# warn set acl_m1 = ${lookup mysql{GREYLIST_TEST}{$value}{0}}
Код: Выделить всё
accept local_parts =postmaster
domains =+local_domains
Код: Выделить всё
#defer message = Greylisted - please try again a little later.
# ! domains = +white_domains
# condition = ${if eq{$acl_m1}{0}{1}}
# condition = ${lookup mysql{GREYLIST_ADD}{yes}{no}}
#defer message = Greylisted - please try again shortly.
# condition = ${if eq{$acl_m1}{1}{1}}
Код: Выделить всё
#domainlist white_domains = ${lookup mysql{SELECT LCASE(`domain_whitelist`) \
# FROM `domainname` WHERE \
# `domainname`=LCASE('${quote_mysql:${domain}}')}
он срезал, но то что в белых списках пропускал Одним словом если убрать все что касаеться проверки серым списком в белом то он работает (простите за каламбур)
Вот что логи говорят:
Код: Выделить всё
Apr 11 15:02:20 mail2 exim[94540]: [1\2] [94540] failed to expand "${lookup mysql{SELECT LCASE(`domain_whitelist`) FROM `domainname` WHERE `domainname`=LCASE('${quote_mysql:${domain}}')}" while checking a list: lookup of "SELECT LCASE(`domain_whitelist`) FROM `domainname` WHERE `domainname`=LCASE('pindostan.ua')" gave DEFER: MYSQL: query failed: Table 'exim.domainname' doesn't exist