Приветствую!Собрал Postfix + SASL + TLS.
В итоге при отправке почты начинается "рукопожатие", SASL говорит "DONE", но потом клиент шлёт какую-то белиберду, на что POSTFIX говорит "неизвестная команда" и отваливается.
Вот как это выглядит:
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: > unknown[213.87.140.28]: 220 legacy2.мойпровайдер.ru ESMTP Postfix
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_create: SASL service=smtp, realm=(null)
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: name_mask: noanonymous
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: Connecting
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: VERSION?1?1
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: MECH?PLAIN?plaintext
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: name_mask: plaintext
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: SPID?1389
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: CUID?2
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: COOKIE?b5c75639b8675e74109df635c5ede6f5
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_connect: auth reply: DONE
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: xsasl_dovecot_server_mech_filter: keep mechanism: PLAIN
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: < unknown[213.87.140.28]: ???
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: match_string: ??? ~? CONNECT
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: match_string: ??? ~? GET
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: match_string: ??? ~? POST
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: match_list_match: ???: no match
Sep 7 15:53:04 legacy2 postfix/smtpd[1387]: > unknown[213.87.140.28]: 502 5.5.2 Error: command not recognized
Sep 7 15:53:05 legacy2 postfix/smtpd[1387]: < unknown[213.87.140.28]:
Sep 7 15:53:05 legacy2 postfix/smtpd[1387]: > unknown[213.87.140.28]: 500 5.5.2 Error: bad syntax
Sep 7 15:53:05 legacy2 postfix/smtpd[1387]: smtp_get: EOF
Вот как выглядит тоже самое, но с отключенным TLS на клиенте:
После SASL-овского "DONE" следует клиентская команда "EHLO", ну а дальше там отправляется почта и всё нормально.Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: > unknown[213.87.140.28]: 220 legacy2.мойпровайдер.ru ESMTP Postfix
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_create: SASL service=smtp, realm=(null)
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: name_mask: noanonymous
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: Connecting
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: VERSION?1?1
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: MECH?PLAIN?plaintext
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: name_mask: plaintext
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: SPID?1389
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: CUID?4
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: COOKIE?9ae093c867bbcc9cd36a25457724cb88
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_connect: auth reply: DONE
Sep 7 15:55:13 legacy2 postfix/smtpd[1418]: xsasl_dovecot_server_mech_filter: keep mechanism: PLAIN
Sep 7 15:55:14 legacy2 postfix/smtpd[1418]: < unknown[213.87.140.28]: EHLO [10.234.154.108]Куда бежать, где копать...? Ничего не понимаю..
что за клиент подключается к постфиксу?
сертификаты серверные сдеалаи и настроили?
"smtpd_tls_cert_file = none" используете?
Разобрался. Сертификаты, конечно, настроил.Есть два вида TLS. STARTTLS и SSL/TLS.
В Postfix по умолчанию STARTTLS. Это означает, что защищённое соединение устанавливается всё через тот же 25 порт.
Мой клиент (мобильник Нокия) по умолчанию хотел SSL/TLS (Outlook Express, к слову, только SSL/TLS и умеет). Защищённое соединение устанавливается через 465 порт.Чтобы включить на Postfix оба режима одновременно, нужно написать в master.cf
mtpd_tls_wrappermode=yesНа этом всё.
> что за клиент подключается к постфиксу?
> сертификаты серверные сдеалаи и настроили?
> "smtpd_tls_cert_file = none" используете?[сообщение отредактировано модератором]
> Чтобы включить на Postfix оба режима одновременно, нужно написать в master.cf
> mtpd_tls_wrappermode=yes
> На этом всё.в дефолтном конфиге как минимум раскоментировать следующие строчки в master.cf
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATINGsmtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATINGчто включит STARTTLS на 587 порту и SSL/TLS на 465 порту