0

我正在尝试使用我的 Mac 上的 Perl 脚本发送电子邮件,为此我安装了 MIME::Lite 模块。我正在使用基本脚本进行测试:

#!/usr/bin/perl

use MIME::Lite;

$msg = MIME::Lite->new(
                 From     =>"abc\@gmail.com",
                 To       =>"xyz\@gmail.com",
                 Subject  =>"Demo",
                 Data     =>"Sent :-):-)"
                 );
$msg->send();

我已经在我的 macbook 中设置了我的电子邮件帐户。如果我需要其他检查,请指导我,因为我无法发送电子邮件。

4

2 回答 2

1

您可以只对命令行使用系统调用的日子已经一去不复返了:

mail boss@megacorp.net -s "I QUIT!" < body_of_message.txt

但是如果你安装并配置 mutt 与你的邮件服务器通信,你可以做一些非常接近的事情:

mutt -s "I QUIT" boss@megacorp.net < body_of_message.txt

最难的一点是配置 mutt,这还不错。那里有大量的文档和操作指南,例如Mutt Configuration Doc ... gmail,交换等

从那里,在 perl 中,您只需:

system("/path/to/mutt", "-s", "I QUIT", "boss\@megacorp.net", ...)
   or die "Could not send Email";
于 2012-08-18T05:42:52.273 回答
0

我没有使用过这个模块,但我注意到它的文档说

MIME::Lite 不被当前的维护者推荐。有许多替代方案,例如 Email::MIME 或 MIME::Entity 和 Email::Sender,您可能应该使用它们。MIME::Lite 继续产生奇怪的错误报告,并且由于有更好的替代方案,它没有收到大量的重构。请考虑使用其他东西。 http://metacpan.org/pod/MIME::Lite

话虽如此,您可能需要做类似的事情

指定默认发送方法:

 MIME::Lite->send('smtp','some.host',Debug=>0);
 MIME::Lite->send('smtp','some.host', AuthUser=>$user, AuthPass=>$pass);
于 2012-08-18T15:42:32.620 回答