簡體   English   中英

電子郵件腳本無法在IIS上運行

[英]Email script not working on IIS

我有以下測試腳本可以發送電子郵件:

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並從Web瀏覽器運行它時,我得到了Sending email...文本,但隨后什么也沒有。 沒有發送電子郵件,沒有錯誤消息顯示。 我查看了郵件服務器日志,甚至沒有建立連接。 我不確定為什么它可以從cmd而不是從IIS運行。 通過IIS進行腳本操作是否需要一些額外的配置?

我也嘗試過sendmail()並得到類似的結果。

首先,將以下標頭添加到文件中

use strict 'vars';
use warnings;
use diagnostics;
use feature qw/say/;
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

... your code...

# Print Warnings
warningsToBrowser(1);

如果它失敗或對某些東西發出警告,那將為您提供更多信息。

其次,您如何安裝Net :: SMTP? 確保它及其所有依存關系都具有IIS工作進程的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM