Perl smtp电子邮件发送不起作用

时间:2016-09-25 17:57:11

标签: perl email smtp timeout

我正在尝试从我的Gmail帐户发送电子邮件,并收到错误:

Error sending email: Connect failed :IO::Socket::INET: connect: timeout at /home/tas/perl5/lib/perl5/Email/Send/SMTP/TLS.pm line 45

我尝试过几个不同的电子邮件地址(gmail和其他人),但结果是一样的。

我使用此代码:

#!/usr/bin/perlml
use Email::Send;
print "Content-type: text/html\n\n";
my $mailer = Email::Send->new( {
    mailer => 'SMTP::TLS',
    mailer_args => [
        Host => 'smtp.gmail.com',
        Port => 587,
        User => 'XXXX@gmail.com',
        Password => 'XXXXXXXXX',
        Hello => 'fayland.org',
    ]
} );

use Email::Simple::Creator; # or other Email::
my $email = Email::Simple->create(
    header => [
        From    => 'XXXX@gmail.com',
        To      => 'XXXX@gmail.com',
        Subject => 'test',
    ],
    body => 'test',
);
eval { $mailer->send($email) };
die "Error sending email: $@" if $@;

这里有什么问题?使用smtp发送电子邮件的其他任何方式?

1 个答案:

答案 0 :(得分:4)

  

发送电子邮件时出错:连接失败:IO ::套接字:: INET:连接:超时/home/tas/perl5/lib/perl5/Email/Send/SMTP/TLS.pm第45行

看起来您的Perl代码没有任何问题。看起来这是一个网络问题。您网络中的某些内容阻止您在端口587上连接到Gmail。

您可能需要与服务器的系统支持人员讨论此问题。