0
工作,我有以下的測試腳本,以發送電子郵件:電子郵件腳本不是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
並從網絡瀏覽器運行它時,我得到了Sending email...
文本,但沒有任何內容。沒有電子郵件發送,沒有錯誤信息顯示。我查看了郵件服務器日誌,甚至沒有連接。我不知道爲什麼它從cmd工作,但不是從IIS工作。腳本是否需要一些額外的配置才能通過IIS執行此操作?
我也嘗試過sendmail()
並獲得類似的結果。
我用你提供的代碼得到的錯誤是'Can not call method " mail " on C:\ inetpub \ wwwroot \ test.pl line 14.'這就是我所期望的,如果' Net :: SMTP-> new'調用失敗。但它仍然沒有告訴我爲什麼失敗。至於工作進程中的權限,我不確定你的意思。這是一個默認的IIS安裝中的簡單Perl腳本,所以我會在哪裏尋找它? – Dendory 2014-12-05 14:14:10
看看在IIS上運行perl @ http://blogs.iis.net/wadeh/archive/2009/04/13/running-perl-on-iis-7.aspx – harvey 2014-12-07 21:55:11
如果那太複雜了,你可以下載來自http://search.cpan.org/~shay/libnet-3.04/lib/Net/SMTP.pm的Net :: SMTP的源代碼 - 將bin文件夾相對於您的CGI複製,並使用'use文件::基名;使用lib dirname(__FILE__)。 '/ bin';' – harvey 2014-12-07 21:58:12