Назад | Перейти на главную страницу

postfix SASL authentication failed - Внутренняя ошибка аутентификации

Недавно мне пришлось сменить SMTP-реле с Cablevision на Verizon. Verizon блокирует порт 25, но они будут принимать SSL через порт 465 (согласно этот). Я использовал этот и этот иметь stunnnel вперед postfixданные на порт 465.

К сожалению, моя почта не доходит. Я получаю в mail.log следующие ошибки:

Sep  8 15:16:25 DServ postfix/qmgr[6178]: A9EF9480429: from=<mark.kasson@docsmit.com>, size=545, nrcpt=1 (queue active)
Sep  8 15:16:25 DServ postfix/smtp[6777]: A9EF9480429: to=<markkasson@gmail.com>, relay=127.0.0.1[127.0.0.1]:12345, delay=231428, delays=231428/0.01/0.4/0, dsn=4.7.0, status=deferred (SASL authentication failed; server 127.0.0.1[127.0.0.1] said: 500 5.7.0 Unknown AUTH error -1 (Internal authentication error).)

Dovecot выдает сообщения, однако ни одно из них не является сообщениями об ошибках. Я также видел следующее:

Sep  8 17:26:26 DServ postfix/error[7112]: D0B944801A9: to=<mkasson@sigmgt.com>, relay=none, delay=197679, delays=197679/0.01/0/0.03, dsn=4.7.0, status=deferred (delivery temporarily suspended: SASL authentication failed; server 127.0.0.1[127.0.0.1] said: 500 5.7.0 Unknown AUTH error -1 (Internal authentication error).)

в моем main.cf у меня есть:

relayhost = [127.0.0.1]:12345
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

в / etc / postfix / sasl_passwd у меня есть

[127.0.0.1]:12345 MYUSERNAME@verizon.net:MYPASSWORD

Я бегал:

sudo postmap hash:/etc/postfix/sasl_passwd
sudo service postfix restart

Если я telnet localhost 12345, Я могу связаться с сервером Verizon.

Любая помощь будет принята с благодарностью! Спасибо.

РЕДАКТИРОВАТЬ Согласно Костину, приведенному ниже, я запустил openssl и получил:

CONNECTED(00000003)
3073435324:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:787:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

Похоже, он жалуется на неизвестный протокол. Я не уверен, где это взять.

ДОБАВЛЕНИЕ Полная стенограмма telnet:

telnet localhost 12345
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 vms173023pub.verizon.net -- Server ESMTP (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009))
EHLO verizon.net
250-vms173023pub.verizon.net
250-8BITMIME
250-PIPELINING
250-CHUNKING
250-DSN
250-ENHANCEDSTATUSCODES
250-HELP
250-XLOOP 80E3E78D42E6EE2FDAB2C28EB1AA64CD
250-AUTH DIGEST-MD5 PLAIN LOGIN CRAM-MD5
250-AUTH=LOGIN PLAIN
250-ETRN
250-NO-SOLICITING
250 SIZE 20971520
AUTH LOGIN
334 VXNlcm5hbWU6
MYUSERNAME-IN-64
334 UGFzc3dvcmQ6
MYPASSWORD-IN-64
235 2.7.0 LOGIN authentication successful.

Я привел кого-то, и после небольшого изучения и тестирования мы добавили smtp_sasl_mechanism_filter = login к main.cf. Это прояснило это.

Он объяснил, что это заставляет postfix выполнять АВТОМАТИЧЕСКИЙ ВХОД (что я делал вручную при тестировании через telnet). smtp_sasl_mechanism_filter документ

Я смотрел с tail -F /var/log/mail.log и электронные письма уходили. mailq пробеги показали сокращение очереди, и это было хорошо.

Спасибо всем!

P.S. Еще три примечания:

1) Я удалил smtp_sasl_security_options = noanonymous. Возможно, это было в правильном направлении, но этого не произошло.

2) Мне не нужно было использовать smtp_generic_maps.

В одной из статей использовались оба из них (и Костин предположил, что smtp_sasl_security_options также).

3) Эта статья был полезен в демонстрации того, как получить пароль Base64 для ручного входа в систему с помощью telnet с участием perl -MMIME::Base64 -e 'print encode_base64("john\@example.com\0john\@example.com\0password")';

Попробуйте добавить это в свой main.cf

smtp_sasl_security_options = noanonymous

затем перезагрузите конфигурацию постфикса

Также после подключения по telnet к localhost попробуйте использовать описанные здесь шаги для проверки возможности подключения smtp auth к Verizon: http://www.ndchost.com/wiki/mail/test-smtp-auth-telnet

Заменить telnet mailserver.com 25 команда из статьи с
telnet localhost 12345

В некоторых инструкциях не упоминается, что вам необходимо иметь libsasl2-modules пакет установлен. Пожалуйста, проверьте, установлен ли он, и установите его, если нет.

Это произошло, когда я изменил пароль, чтобы он снова заработал, удалите sasl_passwd.db, затем перенастройте его с помощью sudo postmap / etc / postfix / sasl_passwd, затем перезапустите postfix systemctl restart postfix