使用 smtp 不使用 perl MIME::Lite 发送电子邮件

Posted

技术标签:

【中文标题】使用 smtp 不使用 perl MIME::Lite 发送电子邮件【英文标题】:Email does not send with perl MIME::Lite using smtp 【发布时间】:2011-05-23 13:14:49 【问题描述】:

我正在尝试使用 MIME::Lite 发送电子邮件,但电子邮件不会发送并且我没有收到任何错误。 代码:

    my $subject = $Config->email->subject;
    my $from_email = $Config->email->from_email;
    my $message = $Config->email->message;
    my $smtp_server = $Config->email->smtp_server;
    my $msg = MIME::Lite->new
    (
    Subject => $subject,
    From    => $from_email,
    To      => $email,
    Type    => 'text/html',
    Data    => $message
    );

    $msg->send('smtp' ,$smtp_server );

【问题讨论】:

sendmail 安装了吗?如果是,请尝试使用它发送邮件。 Email::Sender 有错误检查,MIME::Lite 没有。 - 您可以安装Wireshark 以查看 SMTProtocol 对话。 【参考方案1】:

那里没什么可说的......

也许尝试调试?

$msg->send( 'smtp', $smtp_server,  Debug=>1 );

并检查$Config->email 中的所有值是否符合您的预期。

【讨论】:

我尝试了调试,没有任何新东西。所有的值都是正确的。如果这是问题所在,我正在虚拟机上运行。我的连接是 NAT,可以连接到互联网。

以上是关于使用 smtp 不使用 perl MIME::Lite 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 中发送 SMTP 电子邮件的更快方法?

使用sendmail perl脚本和Gmail SMTP服务器发送电子邮件

你会推荐哪个 Perl 模块来发送和接收电子邮件?

perl Mail::Sender模块发送邮件

用Perl发送邮件小例子

yandex 邮件不使用 smtp 发送