Страница 1 из 1

требуеться небольшая помощь написать правило

Добавлено: 2010-09-07 7:54:13
moreh
И так задача состоит в том что бы фильтровать письма на несуществующие адреса и перенаправять их на ящик error@local.domain, средствами system filter
Вот я сделал такое правило

Код: Выделить всё

if $recipients match "@local.domain"
then
if $recipients match "${lookup mysql{SELECT `goto` FROM `alias` WHERE \
                   `address`='$recipients' and `active`='1'}}"
then
else
seen deliver error@local.domain
finish
endif
endif
Понятно что оно немного не логичное :) но уж только так работает оно я хз почему. Проблема в том что оно работает если во втором случае match поменять на is, но тогда письма где в адресатах указан не один получатель, а два и более тоже попадают в error. А в первом случае всё работает хорошо только письма на не существующие адреса не уходят в еррор. Прошу помощи как модифицировать правило, что бы работало так как нужно.

Re: требуеться небольшая помощь написать правило

Добавлено: 2010-09-07 9:47:18
Laa
Есть полезная переменная, которую тоже можно включить в проверку: $rcpt_count

Re: требуеться небольшая помощь написать правило

Добавлено: 2010-09-07 10:04:42
moreh
хм.. иея конечно интересная, а если в письме где больше одного адресата будет не существующий как тогда поступить

Re: требуеться небольшая помощь написать правило

Добавлено: 2010-09-07 10:25:18
Laa
moreh писал(а):хм.. иея конечно интересная, а если в письме где больше одного адресата будет не существующий как тогда поступить
ты ставишь задачу -- ты и ответь на этот вопрос. Я дал инструмент определять факт >1 или нет.

Re: требуеться небольшая помощь написать правило

Добавлено: 2010-09-07 13:55:42
moreh
когда один получатель всё понятно, а вот когда получателей много строка $recipients получает такой вид, к примеру

Код: Выделить всё

 mail1@local.domain mail2@local.domain mail3@local.domain mail1@inet.domain
тут я не могу догнать как фильтровать у меня или письмо отправляется в error полностью или же просто проходит, и отправителю приходит редирект о том что письмо на такой то адрес небыло доставлено, а так не пойдёт..
мб как то организовать через регулярные выражения но я в этом не слишком силён =(
ведь поидее contains и должен решать такую задачу, но что то он не так работает