Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Can';t定位对象方法“;新";通过包裹电子邮件::发件人_Perl - Fatal编程技术网

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