SSMTP не может установить стартовое соединение с Raspberry Pi

538
zingmars

Я пытаюсь настроить автоматическую электронную почту на моем Raspberry Pi, но он не будет согласовывать сеанс STARTTLS.

Ssmtp.conf выглядит следующим образом -

root=postmaster mailhub=:587 AuthUser= AuthPass= UseTLS=TES UseSTARTTLS=YES hostname= FromLineOverride=YES DEBUG=YES 

Никаких переоценок. Я получаю сообщение об ошибке в mail.err:

sSMTP[13572]: Cannot open :587 

В системном журнале я получаю следующие строки -

sSMTP[13119]: Creating SSL connection to host sSMTP[13119]: 220 ESMTP Postfix sSMTP[13119]: EHLO  sSMTP[13119]: 250 DSN sSMTP[13119]: STARTTLS sSMTP[13119]: 220 2.0.0 Ready to start TLS sSMTP[13119]: SSL connection using (null) sSMTP[13119]: Cannot open :587 

И это просто умирает. Я попытался настроить параметр имени хоста, параметры UseTLS и UseSTARTTLS, не сработало. Я также попытался установить параметры TLS_CA_File и TLS_CA_Dir, объявленные в похожих (но старых) сообщениях на форуме, но они даже не работают вообще -

sSMTP[13572]: Unable to set TLS_CA_Dir="/etc/ssl/certs/" 

а также

sSMTP[12962]: Unable to set TLS_CA_FILE="/etc/ssl/certs/ca-certificates.crt" 

На стороне сервера я получаю это -

postfix/submission/smtpd[7557]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled postfix/submission/smtpd[7557]: connect from unknown[] postfix/submission/smtpd[7557]: SSL_accept error from unknown[]: -1 postfix/submission/smtpd[7557]: warning: TLS library problem: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:649: postfix/submission/smtpd[7557]: lost connection after STARTTLS from unknown[] postfix/submission/smtpd[7557]: disconnect from unknown[] 

Тем не менее, все работает нормально, когда я пробую ту же конфигурацию на машине с Ubuntu 18.04 или с настольных почтовых клиентов, таких как Thunderbird. Любые идеи о том, почему он не будет подключаться к серверу от Pi?

0
Вы сгенерировали файл `/ etc / ssl / certs / ca-certificate.crt`? Ipor Sircer 5 лет назад 0
Да, но это, похоже, не имеет значения, так как ssmtp не позволяет мне установить TLS_CA_FILE. zingmars 5 лет назад 0

1 ответ на вопрос

1
grawity

ssmtp не поддерживается программным обеспечением и имеет известные проблемы, связанные с TLS. Debian полностью удалил ssmtp из репозиториев несколько месяцев назад, за ним последует Ubuntu.

Единственная причина, по которой он работает в Ubuntu / Debian, заключается в том, что Debian использовал патч (который переносит ssmtp в GnuTLS по причинам лицензирования и случайно устраняет ошибки, которые имел оригинальный код).

(В вашем случае я бы предположил, что ошибка вызвана тем, что клиент отправил устаревшее «SSLv2-совместимое» сообщение ClientHello, которое прошло после своей полезной даты и которое больше не распознается OpenSSL на сервере Postfix.)

Возможность использовать TLS_CA_*параметры - это еще один патч, добавленный Debian - оригинальное программное обеспечение ssmtp не имеет этих опций, потому что оно вообще не выполняет проверку сертификата .

Вместо этого используйте msmtp.

Похожие вопросы