通过 perl 脚本发送电子邮件

Sending an email via perl script

我正在学习 Perl 课程,并收到一项任务,要使用 Mail::Sendmail 模块从 perl@perlrocks 给自己发送一封电子邮件。

虽然我已经阅读了文档,但我仍然不明白该怎么做。例如,我使用 gmail 作为我的普通电子邮件,我是否应该在脚本中将 gmail 配置为 smpt 协议?你能告诉我如何开始吗?

这取决于您的环境。如果您是 运行 Linux 服务器上的脚本,只需确保安装了 sendmail 实用程序(大多数发行版都预装了它)。如果您使用的不是 Linux 机器,请在其上安装邮件服务器或使用外部 SMTP 服务器。

尽管大多数外部 SMTP 服务器(如 Google/Gmail)都需要这个特定的邮件模块 does not support SMTP authentication。但是,如果您的邮件服务器始终允许来自运行 Perl 脚本的机器的 SMTP 连接,那么它可以像这样简单:

use Mail::Sendmail qw(sendmail %mailcfg);

%mail = ( To      => 'you@example.com',
          From    => 'me@example.com',
          Message => "Hello world!"
);

$mailcfg{smtp} = [qw(smtp.example.com)];

sendmail(%mail) or die $Mail::Sendmail::error;

这会将 smtp.example.com 设置为电子邮件服务器。 (或者如果您 有本地主机邮件服务器,则可以跳过整行,这是默认设置)。