Постфикс "AUTH-LOGIN" больше не предлагается для проверки подлинности SMTP после обновления с Ubuntu 10.04 до 12.04.1
После серьезного обновления Ubuntu dist с 10.04 до 12.04 моя установка postfix / dovecot для виртуального пользователя предлагает только механизм аутентификации SMTP "PLAIN".
Раньше предлагали механизмы PLAIN + LOGIN, и я попробовал все под солнцем, чтобы вернуть LOGIN снова, но он просто не будет этого делать.
Без версии "LOGIN" многие клиенты на базе MS (Windows Live, Outlook Express) больше не могут отправлять почту с использованием аутентификации SMTP. Мне пришлось добавить их IP-адреса в мой список "mynetworks".
Я даже пытался настроить сервер smtp postfix+dovecot+ виртуальные пользователи с нуля с 12.04.1, думая, что это должно быть связано с обновлением, но не может предложить ничего, кроме AUTH PLAIN, на новая система либо.
Кто-нибудь успешно установил работающий почтовый сервер postfix+dovecot+virtual users на 12.04, который правильно выполняет SMTP-аутентификацию?
Моя текущая конфигурация dovecot: http://pastie.org/5651874
и текущая конфигурация postfix: http://pastie.org/5651882
,
Кстати, вот выдержки из конфигураций, которые я пробовал:
(А):
/etc/dovecot/conf.d/10-auth.conf:
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-master.conf:
service auth {
unix_listener auth-userdb {
}
inet_listener {
port = 12345
}
}
/etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = inet:127.0.0.1:12345
Результаты в
... warning: SASL: Connect to inet:127.0.0.1:12345 failed: Connection refused
... fatal: no SASL authentication mechanisms
из моих логов.
,
,
И (Б):
/etc/dovecot/conf.d/10-auth.conf:
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-master.conf:
service auth {
unix_listener auth-userdb {
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}
/etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
В результате предлагается только механизм PLAIN.
,
Документация, на которую adaptr ссылается в своем ответе, не содержит примеров конфигурации стилей сокетов UNIX для Dovecot 2, поэтому я надеюсь, что кто-то с большим опытом поможет мне здесь.
3 ответа
Ну, из того, что я вижу в вашей опубликованной конфигурации, вы никогда не устанавливали Dovecot's auth_mechanisms = plain login
Таким образом, по умолчанию auth_mechanisms = plain
используется. Попробуйте обновить этот параметр и перезапустить Dovecot, после чего еще раз проверьте вывод doveconf -n
,
Ваши настройки сокета авторизации мне кажутся правильными, Postfix должен иметь возможность выполнять аутентификацию SASL против Dovecot.
Как задокументировано, dovecot должен рекламировать соответствующие механизмы.
У меня была такая же проблема на CentOS 6, и причина моей проблемы была другая:
Имея настройку:
smtpd_tls_security_level = encrypt
в main.cf раздели
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
из вывода EHLO во время сеанса телнет. Помещение в master.cf восстановило вывод и предполагаемое поведение:
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
Я чувствовал, что стоит поделиться этим решением, так как, по крайней мере, три учебника, которые я нашел в Интернете, предположили, что было бы хорошо включить этот параметр в main.cf.