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

Исходное сообщение
"аутентификация exim при приеме почты от почтовых клиентов"

Отправлено by4alex87 , 13-Ноя-08 00:09 
Здравствуйте!

Установлен exim с поддержкой MySQL. В конфиге прописаны три вида аутентификации (в том числе для Outlook Express).

begin authenticators

    auth_plain:
        driver = plaintext
        public_name = PLAIN
        server_condition = ${lookup mysql{SELECT id FROM users \
                            WHERE id = '${quote_mysql:${local_part:$2}}' \
                            AND mbox_host = '${quote_mysql:${domain:$2}}' \
                            AND passwd = '${quote_mysql:$3}' \
                            AND active = 'Y'}{yes}{no}}
        server_prompts = :
        server_set_id = $2

    auth_login:
        driver = plaintext
        public_name = LOGIN
        server_condition = ${lookup mysql{SELECT id FROM users \
                            WHERE id = '${quote_mysql:${local_part:$1}}' \
                            AND mbox_host = '${quote_mysql:${domain:$1}}' \
                            AND passwd = '${quote_mysql:$2}' \
                            AND active = 'Y'}{yes}{no}}
        server_prompts = Username:: : Password::
        server_set_id = $1

    auth_cram_md5:
        driver = cram_md5
        public_name = CRAM-MD5
        server_secret = ${lookup mysql{SELECT passwd FROM users \
                            WHERE id = '${quote_mysql:${local_part:$1}}' \
                            AND mbox_host = '${quote_mysql:${domain:$1}}' \
                            AND active = 'Y'}{$value}fail}
        server_set_id = $1

в ACL стоит соответственно:

    accept  authenticated = *

Пытаюсь отправить почту через Outlook Express 6.

1) Если набираю неправильное имя пользователя, тогда ругается... Все верно.

2) Если набираю правильное имя и неверный пароль, то как ни странно, письмо уходит...
При чем в логе появляется сообщение о неудачной аутентификации:
auth_login authenticator failed for host1.ru (comp) [xx.xxx.xxx.xxx]: 535 Incorrect authentication data (set_id=user@example.ru), а далее сообщения о том, как письмо успешно уходит во внешний мир к получателю.

3) Самое странное:
Если я первый раз попытался отправить письмо с неверным именем пользователя и неверным паролем, и в этой же сессии второй раз указал верное имя пользователя, то письмо как надо не отправляется, а сервер просит указать верный пароль. Здесь все тоже верно как и в первом случае.

Почему тогда во втором письмо уходит при отрицательном результате аутентификации на сервере?

Если надо, выложу весь конфиг.


Содержание

Сообщения в этом обсуждении
"аутентификация exim при приеме почты от почтовых клиентов"
Отправлено Hetzer , 14-Ноя-08 06:08 
>[оверквотинг удален]
>Если я первый раз попытался отправить письмо с неверным именем пользователя и
>неверным паролем, и в этой же сессии второй раз указал верное
>имя пользователя, то письмо как надо не отправляется, а сервер просит
>указать верный пароль. Здесь все тоже верно как и в первом
>случае.
>
>Почему тогда во втором письмо уходит при отрицательном результате аутентификации на сервере?
>
>
>Если надо, выложу весь конфиг.

все ответы в exim -bd -d+all и там намного быстрее получить ответ, чем ждать тут :)


"аутентификация exim при приеме почты от почтовых клиентов"
Отправлено by4alex87 , 18-Ноя-08 17:34 
>[оверквотинг удален]
>>указать верный пароль. Здесь все тоже верно как и в первом
>>случае.
>>
>>Почему тогда во втором письмо уходит при отрицательном результате аутентификации на сервере?
>>
>>
>>Если надо, выложу весь конфиг.
>
>все ответы в exim -bd -d+all и там намного быстрее получить ответ,
>чем ждать тут :)

Посмотрел логи.
Собака аутлук хранит в кеше все предыдущие пароли, поэтому, когда я первый раз вводил правильный пароль, а в дальнейшем пытался с неправильным отправить письмо, он так же пытался авторизироваться с паролями в кеше.
Такое вот недоразумение. :)


"аутентификация exim при приеме почты от почтовых клиентов"
Отправлено tux2002 , 14-Ноя-08 15:50 

У меня
warn authenticated = *
Дальше $authenticated_id на заполненность проверяется