perl发送电子邮件只能在一个系统上使用,而不能在另一个系统上使用

时间:2018-06-29 01:56:38

标签: perl

我有一个简单的发送电子邮件的Perl代码。

 use strict;
    use warnings;
    use Time::Format;
    use Email::MIME;
    use Email::Sender::Simple qw(sendmail);
    use Email::Sender::Transport::SMTP;
    my $message = Email::MIME->create(
        header_str => [
            From    => 'me@provider.com',
            To      => 'me@provider.com',
            Subject => 'test',
        ],
        attributes => {
            encoding => 'quoted-printable',
            charset  => 'ISO-8859-1',
        },
        body_str => 'stefy test',
    );
    my $transport = Email::Sender::Transport::SMTP->new({
        host => 'my.server.smtp',
        port => 25,
    });
    sendmail($message, { transport => $transport });

我可以在一个系统中成功运行,但不能在另一个系统上运行。

  1. Windows 7专业版->成功

  2. Window Server 2008->失败

这是我得到的例外:

unable to establish SMTP connection to my.server.smtp port 25

    Trace begun at D:\strawberryperl\perl\site\lib\Email\Sender\Transport\SMTP.pm line 193   Email::Sender::Transport::SMTP::_throw('Email::Sender::Transport::SMTP=HASH(0x38
    0fef8)', 'unable to establish SMTP connection to my.server.smtp port 25') called at D:\strawberryperl\perl\site\lib\Email\Sender\Transport\SMTP.pm line 143

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

perl版本的更新解决了该问题。

这是为MSWin32-x64-multi-t构建的perl 5,版本26,版本2(v5.26.2)