можно ли определить системным фильтром существование почтового ящика? если да то как?
а если нет, то такой вопрос, у меня системным фильтром копируются входящие письма в определённый ящик(сделано фильтром потому что там есть по домену), а в конфиге exim ещё идёт копирование не существующих писем в ящик еррор, дак вот получается, что сначала входящее письмо на не существующий ящик копируется в фильтре а потом когда проходит все проверки копируется ещё в ящик еррор, как этого избежать? или как сделать копирование писем в системном фильтре после всех проверок?
системный фильтр exim
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
Re: системный фильтр exim
Вобщем я тут разобрался получилось довольно красиво
И так вопрос был мною задан, я и отвечу на него вдруг кому понадобится готовое решение.
Значит задача состояла в том что бы:
1. Письма приходящие на не существующие адреса перенаправлять на ящик error@local.domain
2. Письма отправленые на внешние домены, от юзеров которым не разрешено отправлять почту в мир, перенаправлять в ящик error@local.domain
3. Письма которые пришли с внешнего мира, юзерам которым не разрешено получать письма с внешки, перенаправлять в ящик error@local.domain
4. Письма которые отправлены на внешние домены и которые не подходят под вышеописанные правила(это для юзеров которым разрешено и которые не попадают в error), копировать в ящик outgoing@local.domain
5. Все входящие письма, которые не подходят под вышеописанные правила и не попадают в error копировать в admink@local.domain
И так сам файл фильтра
Ну вот и всё, всё оказалось очень просто...
Критика и предложения приветствуются.

Значит задача состояла в том что бы:
1. Письма приходящие на не существующие адреса перенаправлять на ящик error@local.domain
2. Письма отправленые на внешние домены, от юзеров которым не разрешено отправлять почту в мир, перенаправлять в ящик error@local.domain
3. Письма которые пришли с внешнего мира, юзерам которым не разрешено получать письма с внешки, перенаправлять в ящик error@local.domain
4. Письма которые отправлены на внешние домены и которые не подходят под вышеописанные правила(это для юзеров которым разрешено и которые не попадают в error), копировать в ящик outgoing@local.domain
5. Все входящие письма, которые не подходят под вышеописанные правила и не попадают в error копировать в admink@local.domain
И так сам файл фильтра
Код: Выделить всё
logfile /var/log/exim/filter
#Перенаправляем все входящие на не существующие адреса на error@local.domain
if ($recipients match "@local.domain" and $recipients is "${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='$recipients' and `active`='1'}}")
then #тут может быть как то сделать можно более логично? :) потому что $recipients does not match не работает :(
else
seen deliver error@local.domain
finish
endif
#Перенаправляем все входящие письма от доменов отличных от local.domain
#на адрес error@local.domain, для всех юзеров, которым запрещено принимать письма с инета
if ($sender_address does not match "@local.domain" and $recipients is "${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='$recipients' and `noinet`='1'}}")
then
seen deliver error@local.domain
finish
endif
#Перенаправляем все исходящие письма на внешние домены отличные от local.domain
#на адрес error@local.domain, для всех юзеров которым запрещено посылать письма в инет
if ($recipients does not match "@local.domain" and $sender_address is "${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='$sender_address' and `noinet`='1'}}")
then
seen deliver error@local.domain
finish
endif
if $recipients does not match "@local.domain" #копируем все исходящие которые уходят не на локальный домен
then
unseen deliver outgoing@local.domain
endif
if $recipients match "@local.domain" #копируем все входящие на @local.domain admink@local.domain
then
unseen deliver admink@local.domain
endif
Ну вот и всё, всё оказалось очень просто...
Критика и предложения приветствуются.