Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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在linux上设置SMTP发送邮件_Linux_Perl_Smtp_Sendmail - Fatal编程技术网

使用perl在linux上设置SMTP发送邮件

使用perl在linux上设置SMTP发送邮件,linux,perl,smtp,sendmail,Linux,Perl,Smtp,Sendmail,我在使用perl发送邮件时遇到了问题。当我发出以下命令时: 我的$smtp=Net::smtp->new($ServerName,Debug=>0);其中$ServerName=“localhost”。未设置$smtp。它是空的。有谁能告诉我为什么设置不恰当。因为同一个脚本正在我的另一台linux服务器上运行 真的很感激你的帮助 谢谢 DD您是否尝试启用调试 $smtp = Net::SMTP->new( Host => 'mailhost', Hello => 'my.

我在使用perl发送邮件时遇到了问题。当我发出以下命令时: 我的$smtp=Net::smtp->new($ServerName,Debug=>0);其中$ServerName=“localhost”。未设置$smtp。它是空的。有谁能告诉我为什么设置不恰当。因为同一个脚本正在我的另一台linux服务器上运行

真的很感激你的帮助

谢谢
DD

您是否尝试启用调试

 $smtp = Net::SMTP->new(
 Host => 'mailhost',
 Hello => 'my.mail.domain',
 Timeout => 30,
 Debug => 1,
 );

然后看看调试输出是怎么说的。

Net::SMTP
,它似乎对错误处理没有什么吸引力。 您所能做的就是:

my $smtp = Net::SMTP->new($ServerName)
            or die "Unable to connect to SMTP server '$ServerName'";
当无法创建对象时,即使传递
Debug=>1
也似乎没有任何作用

三年多来,libnet(包括Net::SMTP)还没有发布过新版本。2010年5月发布的一份报告似乎有一些改进:它:

失败时将返回undef,并且$@将包含失败的原因。

(最新的正确版本不会执行此操作。)

如果您愿意尝试安装开发人员版本,您可以将代码改进为:

my $smtp = Net::SMTP->new($ServerName)
            or die "Unable to connect to SMTP server '$ServerName': $@";
连接失败的可能原因:

  • $ServerName不是有效的主机名
  • $ServerName上没有运行SMTP服务
  • 服务器不喜欢标准的问候语,
    localhost.localdomain
    。将'your.full.qualified.host.name'传递给构造函数
您可以在试图运行此脚本的主机上的命令行上尝试连接到SMTP服务器:

$ telnet smtp.example.com
EHLO localhost.localdomain
quit

是的,我试过。。但不幸的是,控制台上并没有显示任何内容。我相信它是通过stderr编写的,应该打印在控制台上。介意帮我跟踪调试日志吗?好的,如果可以的话,我会尝试重现您的问题,然后发布更多。是的,显然“调试”不会报告任何错误。奇怪:/。谢谢你,朋友。实际上,sendmail服务没有运行。非常奇怪的是,debug msg并没有抛出任何错误,而这些错误让生活痛苦地去识别这样一个愚蠢的问题。