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

时间:2016-09-01 08:30:10

标签: perl sendmail nagios

我在docker容器中设置我的nagios,它正在工作。而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的软件包也已安装。

我该如何解决这个问题?

非常感谢

1 个答案:

答案 0 :(得分:2)

如果您的意思是sendEmail.pl array_diff() documentation,那么您使用的是不受支持且损坏的软件。如果您在脚本中更改以下行,则可能会有效:

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

此更改的原因是代码中SSL_version的设置从一开始就是错误的,只有7年前IO :: Socket :: SSL没有抱怨它,只是使用了第一个设置{ {1}}。但是自从4年以来IO :: Socket :: SSL更加严格并抱怨使用错误。除此之外,SSLv3在许多情况下无论如何都不会起作用,因为出于安全原因禁用了该协议。