我试图通过perl槽yahoo smtp服务器发送电子邮件,我的代码在linux上运行没有错误,但是当我在Windows Server 2008 r2 perl sys上运行此代码时:
我的代码是:
use Net::SMTP 3.03;
my $mailer = Net::SMTP->new(
'smtp.mail.yahoo.com',
Hello => 'smtp.mail.yahoo.com',
Port => 587,
Debug => 1,
);
$mailer->starttls();
$mailer->auth('test','123');
#!$mailer->mail('[email protected]');
$mailer->to('[email protected]');
$mailer->data();
$mailer->datasend('From: [email protected] \r\n');
$mailer->datasend('To: [email protected] \r\n');
$mailer->datasend('Subject: testing \r\n');
$mailer->datasend('Content-type: text/html \r\n\n');
$mailer->datasend('\n');
$mailer->datasend('test test test\r\n');
$mailer->dataend();
$mailer->quit;
问题是什么 ?
“perl -MIO::Socket::SSL = debug4 test.pl”的结果
最佳答案
“...不支持SSL版本SSLv2”-我感到您的IO::Socket::SSL版本不是原始版本,但可能是收到(错误)补丁的版本,用于解决Net::损坏的问题。 SMTP::TLS。请确保您安装了IO::Socket::SSL的最新版本。 –斯特芬·乌尔里希(Steffen Ullrich)
关于windows - Net::SMTP:Net::Cmd::_ is_closed():命令 channel 上出现意外的EOF [perl],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34286837/