通过perl脚本从Mac OS X发送电子邮件

时间:2012-08-18 05:25:09

标签: macos perl

我正在尝试使用我安装的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中设置了我的电子邮件帐户。 如果我需要其他东西来检查,请指导我,因为我无法发送电子邮件。

2 个答案:

答案 0 :(得分: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,这并不算太糟糕。有大量的文档和howtos,如Mutt Configuration Doc ...或只是google的“mutt configure”和你正在使用的邮件服务器的类型; gmail,exchange等等。

从那里,在perl,你只会:

system("/path/to/mutt", "-s", "I QUIT", "boss\@megacorp.net", ...)
   or die "Could not send Email";

答案 1 :(得分:0)

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

  

当前的维护者不推荐使用MIME :: Lite。有一个   替代品的数量,如Email :: MIME或MIME :: Entity和   Email :: Sender,您应该使用它。 MIME ::精简版   继续产生奇怪的错误报告,它没有收到大的   由于有更好的替代品,重构的数量。   请考虑使用其他东西。   http://metacpan.org/pod/MIME::Lite

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

的事情
  

指定默认发送方式:

 MIME::Lite->send('smtp','some.host',Debug=>0);
 MIME::Lite->send('smtp','some.host', AuthUser=>$user, AuthPass=>$pass);