【发布时间】:2014-12-05 10:58:53
【问题描述】:
我有以下测试脚本来发送电子邮件:
use strict;
use Net::SMTP;
print "Content-Type: text/plain\n\n";
print "Sending email...\n";
my $smtp = Net::SMTP->new('10.0.0.1', Port => 25, Timeout => 10, Debug => 1);
$smtp->mail("user1\@domain.local");
$smtp->to("user2\@domain.local");
$smtp->data();
$smtp->datasend("From: user1\@domain.local\n");
$smtp->datasend("To: user2\@domain.local\n");
$smtp->datasend("Subject: Test\n\n");
$smtp->datasend("Testing 1 2 3\n");
$smtp->datasend();
$smtp->quit;
当我从命令行运行它时它工作正常,我马上收到电子邮件。但是当我把它放在C:\inetpub\wwwroot 并从网络浏览器运行它时,我得到了Sending email... 文本,但什么也没有。不发送电子邮件,不显示错误消息。我查看了邮件服务器日志,甚至没有建立连接。我不确定为什么它可以从 cmd 工作,但不能从 IIS 工作。脚本是否需要一些额外的配置才能通过 IIS 执行此操作?
我也尝试了sendmail() 并得到了类似的结果。
【问题讨论】: