Perl Can';t定位对象方法“;新";通过包裹电子邮件::发件人
在这种情况下,有几个类似的线程,但通常的罪魁祸首似乎是该用户忘记安装或使用相关软件包。在这种情况下似乎不是这样。我仔细检查了一下以确保安装正确Perl Can';t定位对象方法“;新";通过包裹电子邮件::发件人,perl,Perl,在这种情况下,有几个类似的线程,但通常的罪魁祸首似乎是该用户忘记安装或使用相关软件包。在这种情况下似乎不是这样。我仔细检查了一下以确保安装正确 cpan[1]> install Email::Sender Going to read '/home/ajmills/.cpan/Metadata' Database was generated on Fri, 18 Jan 2013 07:07:06 GMT Email::Sender is up to date (0.120002).
cpan[1]> install Email::Sender
Going to read '/home/ajmills/.cpan/Metadata'
Database was generated on Fri, 18 Jan 2013 07:07:06 GMT
Email::Sender is up to date (0.120002).
cpan[2]>
我的简单程序:
use strict;
use warnings;
use Email::Sender;
my $mailer = Email::Sender->new( {
mailer => 'SMTP::TLS',
mailer_args => [
Host => 'smtp.gmail.com',
Port => 587,
User => 'xxx@gmail.com',
Password => 'xxx',
Hello => 'xxx.org',
]
} );
然后运行它:
:~$ perl email.pl
Can't locate object method "new" via package "Email::Sender" at email.pl line 5.
有什么想法吗?不确定,但文档上说要调用Email::Sender::Transport::SMTP->new
try {
sendmail(
$message,
{
from => $SMTP_ENVELOPE_FROM_ADDRESS,
transport => Email::Sender::Transport::SMTP->new({
host => $SMTP_HOSTNAME,
port => $SMTP_PORT,
})
}
);
} catch {
warn "sending failed: $_";
};
不确定,但文档中说要调用电子邮件::发件人::传输::SMTP->new
try {
sendmail(
$message,
{
from => $SMTP_ENVELOPE_FROM_ADDRESS,
transport => Email::Sender::Transport::SMTP->new({
host => $SMTP_HOSTNAME,
port => $SMTP_PORT,
})
}
);
} catch {
warn "sending failed: $_";
};
啊!是的,我试过这个,效果很好。我可能在看一个过时的例子。啊!是的,我试过这个,效果很好。我可能正在看一个过时的示例。您似乎正在阅读一个非常不同的模块的
Email::Send
。您似乎正在阅读一个非常不同的模块的Email::Send
。