Здравствуйте!Установлен 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) Самое странное:
Если я первый раз попытался отправить письмо с неверным именем пользователя и неверным паролем, и в этой же сессии второй раз указал верное имя пользователя, то письмо как надо не отправляется, а сервер просит указать верный пароль. Здесь все тоже верно как и в первом случае.
Почему тогда во втором письмо уходит при отрицательном результате аутентификации на сервере?
Если надо, выложу весь конфиг.