Exim и переадресация
Как в exim сделать переадресацию почты, пришедшей на несуществующие адреса, на один определенный, при этом почта на правильные адреса ходит без изменений? Типичный пример - когда вам очень важно получить письмо, в котором отправительошибся адресом.
Вариант средствами rewrite для MySQL:
в exim.conf в секции “REWRITE CONFIGURATION” после “begin rewrite”:
*@site.ua “${if eq {${lookup mysql{select id from users where mbox_host=’site.ua’ and id=’$1′ and active=’Y'}}}{} \
{info@site.ua}{$1@site.ua} \
}” E
То есть почта на незнамо-кого перенаправляется на info@site.ua.
Это для одного домена. Если нужно для всех, тогда
*@* “${if eq {${lookup mysql{select id from users where mbox_host=’$2′ and id=’$1′ and active=’Y'}}}{} \
{info@$2}{$1@$2} \
}” E
Флаг “Е” переписывает только заголовки “конверта”, оставляя поля в самом письме без изменений, чтобы получатель смог увидеть первоначальный адрес получателя без изменений.
December 22nd, 2006 at 21:01
прпустил FAIL
те
*@site.ua “${if eq {${lookup mysql{select id from users where mbox_host=’site.ua’ and id=’$1′ and active=’Y’}}}{} \
{info@site.ua}{$1@site.ua} fail}” E
а то все писма даже пердназначенные для существующих ящиков будут сыпаться на info@site.ua
December 25th, 2006 at 15:42
странно…все работает. Впрочем, не спорю, так будет надежней.