Почтовые сервера EXIM, sendmail, postfix, Dovecot и инфраструктура: MTA/MDA, антиспам, web‑почта, маршрутизация и эксплуатация почтовых систем.
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
Непрочитанное сообщение
moreh » 2010-09-07 7:54:13
И так задача состоит в том что бы фильтровать письма на несуществующие адреса и перенаправять их на ящик
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. А в первом случае всё работает хорошо только письма на не существующие адреса не уходят в еррор. Прошу помощи как модифицировать правило, что бы работало так как нужно.
moreh
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2010-09-07 9:47:18
Есть полезная переменная, которую тоже можно включить в проверку: $rcpt_count
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
Непрочитанное сообщение
moreh » 2010-09-07 10:04:42
хм.. иея конечно интересная, а если в письме где больше одного адресата будет не существующий как тогда поступить
moreh
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2010-09-07 10:25:18
moreh писал(а):хм.. иея конечно интересная, а если в письме где больше одного адресата будет не существующий как тогда поступить
ты ставишь задачу -- ты и ответь на этот вопрос. Я дал инструмент определять факт >1 или нет.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
Непрочитанное сообщение
moreh » 2010-09-07 13:55:42
когда один получатель всё понятно, а вот когда получателей много строка $recipients получает такой вид, к примеру
Код: Выделить всё
mail1@local.domain mail2@local.domain mail3@local.domain mail1@inet.domain
тут я не могу догнать как фильтровать у меня или письмо отправляется в error полностью или же просто проходит, и отправителю приходит редирект о том что письмо на такой то адрес небыло доставлено, а так не пойдёт..
мб как то организовать через регулярные выражения но я в этом не слишком силён =(
ведь поидее contains и должен решать такую задачу, но что то он не так работает
moreh