这是我到目前为止的代码:
#!/usr/bin/perl
use strict;
use warnings;
use MIME::Lite;
my $to = 'example@asd.com';
my $from = 'example@asd.com';
my $subject = 'Test Email';
my $message = 'This is test email sent by Perl Script';
my $msg = MIME::Lite->new(
From => $from,
To => $to,
Subject => $subject,
Data => $message
);
$msg->add( "Type" => "multipart/mixed" );
$msg->send("smtp", "good.domain.net");
print "Email Sent Successfullyn";
当我想运行脚本时,我得到了以下错误:
连接邮件服务器失败:错误的文件描述符在…email.pl第17行。
我不知道是什么问题。有人知道怎么解决这个问题吗?
编辑:我更正了上面的代码,它正在使用适当的服务器(它根本不需要身份验证)。
MIME::Lite SMTP调试程序
尽量缩小搜索范围
1:当您telnet SMTP主机时,您是否收到SMTP问候消息?telnet mail.domain.net 25
1:YES =>添加调试选项到MIME::Lite发送(通过SMTP)调用。
$msg->send("smtp", "mail.domain.net", Debug=>1, AuthUser=>'myname@domain.com', AuthPass=>"password" );