【发布时间】:2018-01-16 22:24:21
【问题描述】:
我对 Perl 编程相当陌生。我需要有关使用 MIME::Lite 的基本 SMTP 的帮助,我已经下载了库并将其放在文件夹中。 这是我的代码
#!/usr/bin/perl
use MIME::Lite;
use Net::SMTP;
$to = 'sample@gmail.com';
$cc = 'sample@gmail.com';
$from = 'sample@gmail.com';
$pass = "my password here";
$subject = 'Test Email';
$message = 'This is test email sent by Perl Script';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
# MIME::Lite->send('smtp', "smtp.gmail.com");
MIME::Lite->send('smtp', "smtp.gmail.com", Timeout=>60,Auth=>'LOGIN',AuthUser=>$from,AuthPass=>$pass,Port => 465, Debug => 1);
$msg->send;
print "Email Sent Successfully\n";
我收到以下错误:
MIME::LITE::SMTP>>> MIME::LITE::SMTP
MIME::LITE::SMTP>>> NET::SMTP(3.10)
MIME::LITE::SMTP>>> NET::CMD(3.10)
MIME::LITE::SMTP>>> EXPORTER(5.72)
MIME::LITE::SMTP>>> IO::SOCKET::IP(0.39)
MIME::LITE::SMTP>>> IO::SOCKET(1.38)
MIME::LITE::SMTP>>> IO::HANDLE(1.36)
MIME::LITE::SMTP>>> NET::CMD::GETLINE(): UNEXPECTED EOF ON COMMAND CHANNEL: AT C:/STRAWBERRY/PERL/LIBE/MIME/LITE.PM LINE 2622 AT MAIN.PL LINE 23
SMTP FAILED TO CONNECT TO MAIL SERVER: BAD FILE DESCRIPTOR AT LINE 23
我在这里遗漏了什么吗?我看到了教程,它对他们有用。
【问题讨论】:
-
我永远无法理解为什么人们会使用 even the current maintainer 建议不要使用的模块。
-
@DaveCross 也许不知道?他们似乎是从过时的教程开始工作的。
-
@zdim:当然。但是,在研究这样的问题时,第一步肯定是“阅读模块的文档”,第二步是“看看是否有更新版本的模块”。所以没有理由不知道它。
-
@DaveCross 完全同意(无意暗示借口)。但不幸的是,人们经常不这样做。我最近刚刚建议一名 OP 阅读文档,可能在长时间的交流中读了三遍……只是第二天看到他们的新问题,在同一个模块上,仍然很清楚完全不知情。