Я настроил почтовый сервер на AWS EC2, следуя инструкциям Flurdy: http://flurdy.com/docs/postfix/ , в основном, все прошло хорошо.
Моя проблема в том, что я предпочел бы использовать порт SMTP 587 с TLS, а не 465 с SSL. Я считаю, что это уместное требование, так как порт 465 не считается будущим.
Инструкции на сайте Flurdy предназначены для того, чтобы разрешить и то и другое, однако я не могу заставить 587 работать! 465 с SSL работает шарм.
Я должен также упомянуть, что эта сборка использует sasl с MySQL, и я думаю, именно поэтому я не нашел большой помощи, когда я гуглю ошибки. Я считаю, что ошибка лежит где-то на арене SASL / PAM, но мне не повезло.
Вот некоторые из выводов журнала:
mail.log
postfix/smtpd[11328]: connect from MY.ISP.PROVIDER[MY.IP.0.0]
postfix/smtpd[11328]: Anonymous TLS connection established from MY.ISP.PROVIDER[MY.IP.0.0]: TLSv1.2 with cipher AES128-SHA256 (128/128 bits)
postfix/smtpd[11328]: warning: SASL authentication failure: client response doesn't match what we generated (tried bogus)
postfix/smtpd[11328]: warning: MY.ISP.PROVIDER[MY.IP.0.0]: SASL DIGEST-MD5 authentication failed: authentication failure
postfix/smtpd[11328]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
postfix/smtpd[11328]: warning: MY.ISP.PROVIDER[MY.IP.0.0]: SASL LOGIN authentication failed: generic failure
postfix/smtpd[11328]: lost connection after AUTH from MY.ISP.PROVIDER[MY.IP.0.0]
postfix/smtpd[11328]: disconnect from MY.ISP.PROVIDER[MY.IP.0.0]*
Мой master.cf
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject
-o smtpd_sasl_security_options=noanonymous,noplaintext
-o smtpd_sasl_tls_security_options=noanonymous
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sasl_security_options=noanonymous,noplaintext
-o smtpd_sasl_tls_security_options=noanonymous
Есть и другой конф, такой как AMAVIS, но я подозреваю, что все в порядке.
Журнал SQL показывает, что все соединения и запросы работают правильно.
Я использовал TELNET для тестирования, и он просто закрывает соединение при попытке авторизации через порт 587. Если я открою порт 25 на моем сервере, то смогу завершить успешный вход в систему AUTH.
Вот разница в ответе EHLO с 25 (когда открыто) и 587. Я заметил, что 587 не включает в себя AUTH. Это проблема?
$ telnet my.mailserver.com 587
Trying MY.IP.0.0...
Connected to my.mailserver.com.
Escape character is '^]'.
220 MY-EC2-SERVER-NAME.localdomain ESMTP Postfix
EHLO my.mailserver.com
250-MY-EC2-SERVER-NAME.localdomain
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
$ telnet my.mailserver.com 25
Trying MY.IP.0.0...
Connected to my.mailserver.com.
Escape character is '^]'.
220 MY-EC2-SERVER-NAME.localdomain ESMTP Postfix
EHLO my.mailserver.com
250-MY-EC2-SERVER-NAME.localdomain
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Я перезапускал сервисы postfix и saslauthd несколько раз. Я также дважды проверил пароли и имена пользователей в БД. Я прошел инструкции и проверил на предмет неправильной настройки и орфографических ошибок, хотя, скорее всего, так оно и будет :-)
Сервер UBUNTU 13.10
Пожалуйста, дайте мне знать, если я могу предоставить любую дополнительную информацию, чтобы помочь отладке.
Все мысли приветствуются!