我的 sendmail 日志获取 TLS 设置失败

My sendmail log get TLS setup failed

我在 docker 容器中设置了我的 nagios,它 working.and sendmail 可以给我发送邮件。

有一天我发现它无法向我发送消息,我看到了sendmail的日志,我得到了这个错误

nagios sendEmail.pl[15471]: ERROR => TLS setup failed: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

在这段时间里,我只是停止并重新启动我的nagios容器

libio-socket-ssl-perl 和 libnet-ssleay-perl perl 包也已安装。

我该如何解决这个问题??

非常感谢

如果您的意思是 sendEmail.pl this script with the last update from 2009 那么您使用的是不受支持和损坏的软件。如果您更改脚本中的以下行,它可能会起作用:

-   if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
+   if (! IO::Socket::SSL->start_SSL($SERVER)) {

之所以改成这样,是因为代码中SSL_version的设置从一开始就是错误的,只是7年前IO::Socket::SSL没有抱怨,只是简单地使用了第一个设置SSLv3。但自从 4 年 IO::Socket::SSL 更严格并抱怨错误的用法。除此之外,SSLv3 今天在很多情况下都无法正常工作,因为出于安全原因该协议已被禁用。