/ / invalid SSL_version вказано в /usr/local/share/perl5/IO/Socket/SSL.pm рядок 598 - linux, perl

недійсна SSL_версія, вказана в /usr/local/share/perl5/IO/Socket/SSL.pm рядок 598 - linux, perl

Коли я намагаюся надіслати електронне повідомлення за допомогою Net::SMTP::TLS з сценарію perl я отримую нижче:

недійсна SSL_version вказана в /usr/local/share/perl5/IO/Socket/SSL.pm line 598

ОС: Linux

Ви знаєте, в чому проблема і що я повинен зробити, щоб виправити це?

Дякую!

Відповіді:

1 для відповіді № 1

Net :: SMTP :: TLS не підтримується з 10 років і він порушується тим, що викликає саме ту помилку, яку ви описуєте. Якщо ви наполягаєте на використанні цього зламаного модуля, вам потрібно його виправити. Змінити код у рядку 182 видалити недійсні налаштування SSL_version:

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

Замість використання зламаної та незміненої Net :: SMTP :: TLS або її наступника, але знову не підтримується Net :: SMTP :: TLS :: ButMaintained Я пропоную вам використовувати останню версію Net :: SMTP яка має вбудовану підтримку обох видів SMTP + SSL і для IPv6 теж. Він поставляється вже за замовчуванням з новими версіями Perl.

Якщо використання нового Net :: SMTP неможливе, ви можете використовувати його Net :: SSLGlue :: SMTP яка мавпа патчі старше Net :: SMTP версії, щоб додати підтримку SSL. І є також Net :: SMTPS яка забезпечує аналогічну функціональність.