通过Perl发送邮件

时间:2010-07-29 11:27:12

标签: perl

我使用以下代码发送电子邮件

#!/usr/bin/perl

sub BEGIN {
        unshift (@INC,'/opt/dev/common/mds/perlLib');
}

use Mail::Sender;

$sender = new Mail::Sender
{smtp => 'xxx.xxx.x.xx', from => 'abc@xyz.xom'};
$sender->MailFile({to => 'abc@xyz.xom',
subject => 'Here is the file',
msg => "I'm sending you the list you wanted."});

$sender->Close;

但是,它根本不发送邮件。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

我没有使用那个模块,因为MIME :: Entity工作得更好,但是从使用邮件开始,我可以告诉你,你已经超越了自己,并且做出了假设而不是扣除。

该模块上的

perldoc显示了几种方法 - 而MailFile用于附加和发送文件。如果在发送没有附件的消息时失败,我不得不说我并不感到惊讶。那在其他地方有用吗?

你能使MailMsg()工作吗?如果你不能,(语法非常相似,但出错的东西较少),那么你可能会遇到连接服务器的问题。从xxx.xxx.xxx.xxx位,我不得不假设您正在使用IP地址。尝试使用主机名。另外,将on_errors设置为die()或者warn(),并查看是否可以捕获错误。大多数邮件尝试在连接到服务器/创建对象期间失败 - 然后发送尝试将按定义失败,但通常不会告诉您原因。

如果无法连接,请确保您无需向服务器进行身份验证。