Exim redirect by subject or sender template

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-06 11:25:50

Добрый день.

Необходимо, чтобы сообщения о mail delivery failed предназначенные определенному локальному пользователю перенаправлялись на другой локальный ящик (например админа) с целью предотвращения зацикливаний, т.к. на этом пользователе настроен автоответчик.

В какую сторону копать? Я так понимаю это связано с фильтрами и роутерами?
Может уже кто-то реализовывал подобный функционал?

Заранее благодарен.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Alex Keda » 2009-10-06 13:07:55

роутер пиши
Убей их всех! Бог потом рассортирует...

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-06 16:39:07

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

jira_delivery:
    driver = redirect
    condition = ${if and {\
        {match {$local_part} {test}} \
        {match {$h_subject:} {\NMail delivery failed\N} }}\
        {yes} {no} \
        }
    data = admin@my.domain
Последний раз редактировалось Laa 2009-10-19 17:39:32, всего редактировалось 1 раз.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-19 16:33:52

Подскажите, как добавить условие или для темы письма.
Т.е. должно быть:
Получатель test и (тема "Тема1" или "Тема2" или "Тема3")

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Alex Keda » 2009-10-19 19:11:45

та вроде всё верно у вас
Убей их всех! Бог потом рассортирует...

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-19 22:17:14

То что я написал выше работает для одной темы. А я теперь хочу добавить еще несколько тем, при совпадении которых должно срабатывать правило.
Т.е. что-то вроде этого должно получиться, но у меня не работает. Не знаю как условие "or" правильно добавить.

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

jira_delivery:
    driver = redirect
    condition = ${if and {\
        {match {$local_part} {test}} \
        {or {{match {$h_subject:} {\NMail delivery failed\N} }\
        {match {$h_subject:} {\NUnable to deliver\N} }\
        }}}\
        {yes} {no} \
        }
    data = admin@my.domain
Последний раз редактировалось Smash 2009-10-20 13:08:51, всего редактировалось 1 раз.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение dikens3 » 2009-10-19 23:39:57

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

          condition     = ${if or {{eq{domain1.ru}{$acl_m3}}{eq{domain2.ru}{$acl_m3}}}{yes}{no}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-20 9:24:26

Я же выше написал, что мне нужно не просто "or", а в сочетании с "and" :unknown:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Alex Keda » 2009-10-20 10:17:40

напишите два условия.
или по базе ищщите.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Alex Keda » 2009-10-20 10:18:14

и сообщения оформляйте номрально.
желание отвечать быстро пропадает, когда глаза начинаешь ломать над чужими проблемами
Убей их всех! Бог потом рассортирует...

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-20 13:09:51

Прошу прощения. Я исправлюсь :oops:
Как в одном роутере совместить 2 условия?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение dikens3 » 2009-10-20 16:34:55

Smash писал(а):Я же выше написал, что мне нужно не просто "or", а в сочетании с "and" :unknown:
Скобками регулируйте все что пожелаете. А лучше напишите логические выражения для себя хотя бы.

Например:
Если (А и Б) или ((А и С) и (В и Д)) тогда ....

(А и Б) - Условие 1
((А и С) и (В и Д)) - Условие 2
или - отношение между условиями (логический символ). В этом случае выражение будет истинно если Условие 1 или Условие 2 истинны

На скобки обратите внимание в этом примере.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-20 16:43:36

Да я понимаю, как логически это должно быть. Но я попробовал написать правило, и оно не работает. Выше я его привел. Я так понимаю постановка такого правила возможна, по вашим постам, но тогда укажите пожалуйста на ошибку в синтаксисе моего кода. :st:

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

jira_delivery:
    driver = redirect
    condition = ${if and {\
        {match {$local_part} {test}} \
        {or {{match {$h_subject:} {\NMail delivery failed\N} }\
        {match {$h_subject:} {\NUnable to deliver\N} }\
        }}}\
        {yes} {no} \
        }
    data = admin@my.domain
Почему не работает?
Вот что в panic.log пишет

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

failed to expand condition "${if and {{match {$local_part} {rates_jira}} ${if or {{match {$h_subject:} {\NMail delivery failed\N} } {match {$h_subject:} {\NUndelivered Mail Returned to Sender\N} }}}{yes} {no}}{yes} {no} }" for jira_delivery router: each subcondition inside an "and{...}" condition must be in its own {}
Последний раз редактировалось Smash 2009-10-20 16:48:29, всего редактировалось 1 раз.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение dikens3 » 2009-10-20 16:46:14

Ознакомьтесь с системным фильтром, там огромные возможности по сравнению с обычным кондишеном.

незнаю как тут, попробуйте использовать | (Он в системном фильтре так работает.)

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

{\NMail delivery failed|Unable to deliver\N}
Почему не работает?
Пишет что каждая конструкция И (AND) должна быть в своих скобках ({})
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-20 16:59:02

То что пишет я понимаю. Вроде неоднократно проверял скобки - всё ок. Я не могу понять какой синтаксис для условия "or"

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

${if and {{первое условеие} $(нужен ли тут этот доллар?){if(нужен ли тут этот if?) or {второе условие 1} {второе условие 2}}} {yes} {no} }

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim redirect by subject or sender template

Непрочитанное сообщение dikens3 » 2009-10-20 17:03:02

Основной логический символ у Вас AND. if должен быть один.

${
if and
..



}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Smash
рядовой
Сообщения: 24
Зарегистрирован: 2007-04-18 17:04:50

Re: Exim redirect by subject or sender template

Непрочитанное сообщение Smash » 2009-10-20 17:18:06

Всем спасибо! Получилось. Видать где-то не хватало скобки.

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

jira_delivery:
    driver = redirect
    condition = ${if and {\
        {match {$local_part} {test}} \
        {or {{match {$h_subject:} {\NMail delivery failed\N} }\
        {match {$h_subject:} {\NUndelivered Mail Returned to Sender\N} }\
        }}}\
        {yes} {no} \
        }
    data = admin@domain.com