я собираюсь
(delivery temporarily suspended: SASL authentication failed; server myserver.com[xxx.xxx.xxx.x] said: 535 5.7.3 Authentication unsuccessful)when I try to relay mail from Postfix 2.5.5-1.1 on Debian Lenny box to Exchange 2010.
Думаю, я перепробовал все возможные комбинации, но точно чего-то не хватает. Вот соответствующая часть main.cf:
broken_sasl_auth_clients = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_pix_workarounds = smtp_sasl_type = cyrus smtp_always_send_ehlo = yes relayhost = myserver.com
И я установил libsasl2-modules. Кому-нибудь удалось успешно пересылать почту между Postfix и Exchange? О, и я уже перепроверил, правильный ли пароль.
Кажется, что они нарушили свою реализацию AUTH LOGIN. Я тоже попал в эту плачевную ситуацию. Вот что я нашел:
в диалоге smtp, когда postfix пытается выполнить авторизацию входа:
250 OK
AUTH LOGIN
334 VXNlcm5hbWU6
в конце строки Username: есть \ 0 (двоичный ноль), которого, как я полагаю, не должно быть, в любом случае добавив \ 0 (двоичный ноль) в конец имени пользователя и пароля перед их использованием base64 и отправкой на обмен , Мне удалось успешно войти в систему, однако я не знаю, как сообщить postfix, чтобы он добавлял \ 0 в конце логина и пароля.
# echo -e 'username\0' | base64
abcdefg
# echo -e 'password\0' | base64
hijklmno
250 OK
AUTH LOGIN
334 VXNlcm5hbWU6
abcdefg
334 UGFzc3dvcmQ6
hijklmno
235 2.7.0 Authentication successful.
Exchange Server предложит GSSAPI (Kerberos) но похоже, что Cyrus SASL, предоставляющий службу аутентификации для Postfix, не был настроен для обработки GSSAPI.
man 5 postconf | меньше + / ^ smtp_sasl_mechanism_filter
это скажет вам, что вам нужно установить smtp_sasl_mechanism_filter для правильной аутентификации.