Проверка пользователей в базе для exim и dovecot

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
neptunix
рядовой
Сообщения: 19
Зарегистрирован: 2008-05-06 14:12:52

Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение neptunix » 2008-05-29 15:08:44

Настроил работу exim с локальной доставкой через dovecot (сначала доставка работала через mysql_delivery)

Так вот - если доставка работает через dovecot - то как exim проверяет существование получателей?

В конфиге написано:

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

  accept  domains       = +local_domains
  endpass
  message       = No such user in this domain
  log_message   = Такого пользователя нет в домене
  verify        = recipient
Но нигде явно не прописана проверка пользователя на существование в mysql (т.е. чтобы exim обратился в базу в таблицу mailbox и посмотрел там)
Самое смешное что оно работает, правда мне не понятно как. :twisted:

И еще - если в таблице поставить active = 0 - то exim все равно принимает для этого пользователя почту, а вот dovecot deliver уже отфутболивает.

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

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение Alex Keda » 2008-05-29 20:19:40

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

neptunix
рядовой
Сообщения: 19
Зарегистрирован: 2008-05-06 14:12:52

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение neptunix » 2008-05-30 9:54:49

lissyara писал(а):знаит надо явную проверку.
У меня вопрос немного в другом) Как exim тогда проверяет пользователей если это явно нигде не задано?

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение Alex Keda » 2008-05-30 10:40:05

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

neptunix
рядовой
Сообщения: 19
Зарегистрирован: 2008-05-06 14:12:52

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение neptunix » 2008-05-30 11:02:17

lissyara писал(а):роутингом
А можно расшифровать, если не сложно?

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение Alex Keda » 2008-05-30 11:05:47

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

neptunix
рядовой
Сообщения: 19
Зарегистрирован: 2008-05-06 14:12:52

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение neptunix » 2008-05-30 11:17:20

lissyara писал(а):пытается сроутить сообщение.
успешно - значит есть, нет - значит нет
то есть в моем случае exim спрашивает у dovecot-а есть ли такой пользователь?

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение Alex Keda » 2008-05-30 15:29:11

нет. до этого он не доходит - он проверяет все условия и всё.
если выполняется этот роутер - то значит юзер существует
Убей их всех! Бог потом рассортирует...

neptunix
рядовой
Сообщения: 19
Зарегистрирован: 2008-05-06 14:12:52

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение neptunix » 2008-05-30 22:26:39

lissyara писал(а):нет. до этого он не доходит - он проверяет все условия и всё.
если выполняется этот роутер - то значит юзер существует
а как он физически понимает что юзер существует? То есть как роутер выполняется?
exim лезет в /var/spool/mail и смотрит существует ли там каталог пользователя? Ерунда какая-то

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение Alex Keda » 2008-05-30 22:42:26

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

exim -d+all vasya@domen.ru < /etc/rc.conf
и раскуриваие вывода.
+ чтение документации.
Убей их всех! Бог потом рассортирует...

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

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение dikens3 » 2008-05-31 9:04:39

neptunix писал(а):а как он физически понимает что юзер существует? То есть как роутер выполняется? exim лезет в /var/spool/mail и смотрит существует ли там каталог пользователя? Ерунда какая-то
1. Проверка адреса получателя по списку роутеров, в которых указан транспорт для доставки.
2. Если роутер обрабатывает наш домен, тогда проверяется возможность выполнения этого роутера. Если результат этой возможности положительный - пользователь существует.
3. Сообщение передается в транспорт, который тоже может отфутболивать сообщения по разным причинам, таким как превышение объёма почтового ящика или самого сообщения и т.п.

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

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Проверка пользователей в базе для exim и dovecot

Непрочитанное сообщение freeman » 2008-06-04 15:32:59

neptunix писал(а):
lissyara писал(а):нет. до этого он не доходит - он проверяет все условия и всё.
если выполняется этот роутер - то значит юзер существует
а как он физически понимает что юзер существует? То есть как роутер выполняется?
Чувствую что у тебя есть такое

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

dovecot_user:
  driver = accept
  condition = ${lookup mysql{SELECT `goto` FROM \
  `alias` WHERE \
  `address`='${quote_mysql:$local_part@$domain}' OR \
  `address`='${quote_mysql:@$domain}'}{yes}{no}}
  transport = dovecot_delivery
Вот тут и идёт проверка.
neptunix писал(а):.....
И еще - если в таблице поставить active = 0 - то exim все равно принимает для этого пользователя почту, а вот dovecot deliver уже отфутболивает.
Вот это и мне вчера перестало нравится, правда никак не доберусь исправить :)
Поправте меня если не прав. При такой конфигурации Exim сначала принимает письма даже для отключенных пользователей (active = 0), вместо того чтобы сказать что пользователь неизвестен. Потом довекот их обратно футболит. Просто сейчас увидел что пользователей нет уже, а спам и километровые письма на них канал, логи и т.д. забивают.
Кстати таже ситуация и с квотами средствами Dovecot - трафик/время и даже дисковое пространство всё одно тратится на приём писем :( :?
Остатся должен только один ...