URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96045
[ Назад ]

Исходное сообщение
"exim и отключения пользоателей."

Отправлено fevil , 17-Мрт-15 14:48 
Добрый день.
Ребята подскажите куда смотреть. У меня есть почтовый сервер на базе exim+dovecot. Пользователи хранятся в базе mysql. Авторизация и валидность пользователя проходят если у пользователя есть 1 специальном поле. Если в этом поле стоит 0 то со стороны почтового сервера этого пользователя не существует. И если отправить письмо такому пользователю - в ответ будет: 550 There is no requested mailbox.

Собственно вопрос, как поменять сообщение об ошибке для пользователей с ноликом на - такое
550  Sorry your message cannot be delivered. This account has been disabled or discontinued.

всем спасибо.


Содержание

Сообщения в этом обсуждении
"exim и отключения пользоателей."
Отправлено DeadLoco , 17-Мрт-15 15:25 
> Собственно вопрос, как поменять сообщение об ошибке для пользователей с ноликом

[телепатрон ON]
У вас в конфиге экзима непременно есть роутер, в котором идет обращение к мусклю. Там, несомненно, будет некий кондишн с запросом вида "SELECT .... AND специальное_поле=1".
[телепатрон OFF]

Вам нужно будет создать еще один роутер:

inactive:
   driver = fail
   condition = ${lookup mysql{SELECT ... AND специальное_поле=0}{yes}{no}}
   message = Запрашиваемый аккаунт отключен за неуплату.
   no_more

Этот роутер следует разместить сразу после роутеров, выполняющих деливери.

"exim и отключения пользоателей."
Отправлено fevil , 17-Мрт-15 16:12 
Телепатрон был верным. Спасибо большое. Но сделал немного иначе, добавил в acl_check_rcpt:
condition который совпадает с нужным sql запросом и выдает message   = "Sorry your message cannot be delivered. This account has been disabled or discontinued."

Насколько хуже/лучше такой вариант в отличии от создания еще одного роутера?


"exim и отключения пользоателей."
Отправлено DeadLoco , 17-Мрт-15 16:25 
> Насколько хуже/лучше такой вариант в отличии от создания еще одного роутера?

Лучше тем, что письмо можно отбить на стадии РЦПТ, не доводя дело до приема тела письма.
Хуже тем, что в дефолтных ацлях, обычно, редкостный бардак, и правильное место для него не так просто найти. Неправильная очередность проверок может привести к непредвиденным последствиям.

УПД: После некоторого размышления пришел к выводу, что вынос проверки в АЦЛ - очень плохая идея. Причина - алиасы.