С этим проблем нет. Но вот хочется, чтобы ему при включении редиректа сразу же приходил ответ от exim'a о том, что переадресация включена для таких-то адресов. (Вобщем-то можно и без этого, но лучше так, чтобы человек был спокоен, что переадресация включена и адреса те, которые он указал).
Вот это у меня и не получается сделать.
Вот как сделал включение этой возможности:
Макросы:
Код: Выделить всё
#REDIRECTION
INSERT_REDIRECTION=INSERT INTO redirection(recipient) values ('${quote_mysql:$sender_address}');
CHECK_REDIRECTION=SELECT COUNT(*) FROM redirection WHERE recipient='${quote_mysql:$sender_address}';
DELETE_REDIRECTION=DELETE FROM redirection WHERE recipient='${quote_mysql:$sender_address}';
INSERT_BODY=UPDATE redirection SET forward_to='${quote_mysql:$h_subject:}' WHERE recipient='${quote_mysql:$sender_address}' AND forward_to IS NULL;
#REDIRECTION END
Код: Выделить всё
#REDIRECTION
warn hosts = +relay_from_hosts
domains = +local_domains
local_parts = redirect
set acl_m15 = ${lookup mysql{CHECK_REDIRECTION}{$value}{0}}
condition = ${if == {$acl_m15}{0}{yes}{no}}
set acl_m16 = ${lookup mysql{INSERT_REDIRECTION}{$value}{0}}
warn hosts = +relay_from_hosts
domains = +local_domains
local_parts = redirect
condition = ${if == {$acl_m15}{1}{yes}{no}}
set acl_m16 = ${lookup mysql{DELETE_REDIRECTION}{$value}{0}}
#REDIRECTION END
Код: Выделить всё
#REDIRECTION
warn
hosts =+relay_from_hosts
set acl_m17 = ${lookup mysql{CHECK_REDIRECTION}{$value}{0}}
condition = ${if == {$acl_m17}{1}{yes}{no}}
set acl_m18 = ${lookup mysql{INSERT_BODY}{$value}{0}}
#REDIRECTION END
Код: Выделить всё
redirect_user:
driver = redirect
condition = ${if eq{} {${lookup mysql{SELECT `recipient` FROM `redirection` WHERE `recipient`='${quote_mysql:$local_part}@${quote_mysql:$domain}'}}}{no}{yes}}
unseen
data = ${lookup mysql{SELECT `forward_to` FROM `redirection` WHERE `recipient`='${quote_mysql:$local_part}@${quote_mysql:$domain}'}}