2016-07-13 1 views
0

Wenn ich Net::SMTP::TLS von Perl-Skript versuchen, eine E-Mail mit Ich erhalte unten:ungültig SSL_version bei /usr/local/share/perl5/IO/Socket/SSL.pm Zeile angegeben 598

ungültig SSL_version angegeben bei /usr/local/share/perl5/IO/Socket/SSL.pm Linie 598

OS: Linux

Sie wissen, was das Problem ist und was ich tun, um es zu beheben?

Vielen Dank!

+0

Geben Sie weitere Beschreibungen/Codebeispiele an und was Sie bisher überprüft haben. –

+0

Verwandte http://unix.stackexchange.com/q/53065/102866 & http://unix.stackexchange.com/q/249424/102866 – serenesat

Antwort

1

Net :: SMTP :: TLS ist seit 10 Jahren nicht mehr gepflegt und es ist defekt, dass es genau den Fehler verursacht, den Sie beschreiben. Wenn Sie darauf bestehen, dieses kaputte Modul zu verwenden, müssen Sie es reparieren. Ändern Sie den code in line 182 die ungültige Einstellung von SSL_version zu entfernen:

if(not IO::Socket::SSL::socket_to_SSL($me->{sock}, 
-  SSL_version  => "SSLv3 TLSv1")){ 
+  )){ 
      croak "Couldn't start TLS: ".IO::Socket::SSL::errstr."\n"; 
    } 

Anstatt die gebrochenen und unmaintained Net mit :: SMTP :: TLS oder sein Nachfolger aber wieder unmaintained Net::SMTP::TLS::ButMaintained Ich schlage vor, Sie die neueste Version von Net::SMTP verwenden, die hat integrierte Unterstützung für beide Arten von SMTP + SSL und auch für IPv6. Es kommt bereits standardmäßig mit neueren Perl-Versionen.

Wenn die Verwendung eines neuen Net :: SMTP nicht möglich ist, können Sie Net::SSLGlue::SMTP verwenden, die ältere Net :: SMTP-Version patchen, um SSL-Unterstützung hinzuzufügen. Und es gibt auch Net::SMTPS, die eine ähnliche Funktionalität bietet.

+0

Vielen Dank für Ihre Antwort. –

+0

Ich habe es gelöst. –

Verwandte Themen