O código em check_smtp_send é buggy. Ele especifica diretamente uma string inválida para SSL_version
ou usa um módulo que faz isso (o módulo Net::SMTP::TLS
, muito antigo e não mantido, é conhecido por esse bug). Pode ser que seja corrigido em versões mais recentes do código.
Mas, dado que não tenho ideia de qual sistema operacional você está executando, a que pacote este código pertence e se este é um bug conhecido ou não, não posso realmente ajudar dizendo que ele já está corrigido e você deve atualizar ou para ser consertado. No último caso, posso ajudar, mas precisaria ter acesso ao código em questão.
Mais informações sobre esse tipo de problema podem ser encontradas em SSL_version inválida especificada em /usr/share/perl5/IO/Socket/SSL.pm linha 332 . Lá você encontra a causa direta (bad SSL_version), a causa indireta (verificações mais rigorosas de SSL_version em versões mais recentes do IO :: Socket :: SSL) e como corrigi-lo no código (corrija SSL_version no código buggy, não contornar alterando IO :: Socket :: SSL).
Com base no link :
- o pacote foi atualizado pela última vez em 2011
- usa o antigo Net::SMTP::TLS
que causa o problema
A solução alternativa é simplesmente remover a parte que define uma SSL_version errada de Net :: SMTP :: TLS. Esta deve ser a linha 182, consulte link .
Antes:
if(not IO::Socket::SSL::socket_to_SSL($me->{sock},
SSL_version => "SSLv3 TLSv1")){
croak "Couldn't start TLS: ".IO::Socket::SSL::errstr."\n";
}
Depois:
if(not IO::Socket::SSL::socket_to_SSL($me->{sock})){
croak "Couldn't start TLS: ".IO::Socket::SSL::errstr."\n";
}