verify = recipient & exim = trouble

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

verify = recipient & exim = trouble

Непрочитанное сообщение dm07 » 2009-12-20 17:52:58

Всем привет. Имеется exim 4.71. У меня не отрабатывают корректно такие ACL:

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

  accept   domains       = +local_domains
          endpass
          verify        = recipient
          message       = "In my mailserver not stored this user"


 accept  domains       = +relay_to_domains
          endpass
          verify        = recipient
          message       = "main server not know how relay to this address"
          

Аналогичная ситуация, если переписать блок без endpass, через deny:

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

 deny   domains       = +local_domains
          message       = "In my mailserver not stored this user"
          logwrite      = Check recipient $local_part@$domain failed, sender $sender_address (local domains)
          !verify        = recipient
Блок обходиться, проверка не выполняется. Что не так?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: verify = recipient & exim = trouble

Непрочитанное сообщение dm07 » 2009-12-21 0:02:57

Вот дебаг части ACL, отвечающей за проверку получателя:

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

99957 processing "accept"
99957 check domains = +local_domains
99957 search_open: mysql "NULL"
99957   cached open
99957 search_find: file="NULL"
99957   key="SELECT `domain` FROM `domain` WHERE `domain`='domen.ru' AND `active`='1'" partial=-1 affix=NULL starflags=0
99957 LRU list:
99957 internal_search_find: file="NULL"
99957   type=mysql key="SELECT `domain` FROM `domain` WHERE `domain`='domen.ru' AND `active`='1'"
99957 cached data used for lookup of SELECT `domain` FROM `domain` WHERE `domain`='domen.ru' AND `active`='1'
99957 lookup yielded: domen.ru
99957 domen.ru in "domen.ru"? yes (matched "domen.ru")
99957 domen.ru in "+local_domains"? yes (matched "+local_domains")
99957 check verify = recipient
99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99957 Verifying fedzova@domen.ru
99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99957 Considering fedzova@domen.ru
99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99957 routing fedzova@domen.ru
99957 --------> bounce_to_null router <--------

Сам ACL:

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

  accept  domains       = +local_domains
          endpass
          verify        = recipient
          message       = "In my mailserver not stored this user"
Т.е. видим, что домен получателя входит в local_domains ( domen.ru in "domen.ru"? yes (matched "domen.ru")), поскольку у нас endpass, проверяется условие ниже endpass, если оно даст сбой проверки, то ACL вернет результат deny. Смотрим дальше...

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

99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99957 Verifying fedzova@domen.ru
99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
99957 Considering fedzova@domen.ru
99957 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
т.е. проверка успешна (!) и дальше, поскольку ACL вернул accept, управление передается роутеру. Все бы хорошо, но указанный получатель не существует в домене...Проблема значит в том, что verify проверяет получателя всегда в успешной манере... Вопрос: как-то можно задать алгоритм проверки получателя или объясните мне, куда копать...
Всем спасибо за ответ.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: verify = recipient & exim = trouble

Непрочитанное сообщение hizel » 2009-12-21 1:01:44

Роутер у вас шалит?
Превая страдия проверки адреса, которая всегда происходит, - это запуск адреса через роутер, в “режиме проверки” (“verify mode”).
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: verify = recipient & exim = trouble

Непрочитанное сообщение dm07 » 2009-12-21 2:23:21

Да, спасибо, разобрался. Вот ссылка на параллельную тему, кому интересно: http://forum.lissyara.su/viewtopic.php? ... 02#p216702