我得到這個問題:PHP的mail()不工作,Windows 2003,IIS SMTP
PHP Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for [email protected] in c:\inetpub\wwwroot\mailtest.php on line 12
此腳本:從服務器上的php.ini
<?php
$to = "[email protected]";
$subject = "test";
$body = "this is a test";
if (mail($to, $subject, $body)){
echo "mail sent";
}
else {
echo "problem";
}
?>
部分:
(請注意,「服務器」和「域」指的是準確的實際服務器和域名)
在IIS中,SMTP正在運行。在"Access"
標籤,"Relay"
按鈕,選擇該計算機可以通過此虛擬服務器中繼設置爲checkbox "only the list below"
和名單上是"127.0.0.1(xxx.xxx.xxx.xxx)" (x's representing actual server IP address).
服務器正在運行Windows Server 2003 Service Pack 2
,完全補丁下午5時9月1日2008年。我認爲它是運行IIS7
(如何檢查?)。
任何想法?
在向效應初探Espo:本機在數據中心託管。我們不想使用Gmail帳戶(正在做這件事,想要離開這個帳戶)。 Windows Server 2003帶有自己的SMTP服務器。
更新:每亞科夫埃利斯的建議,我放棄了所有的中繼限制並增加了服務器的IP到允許列表中(使用提供反向DNS按鈕),事情開始工作。
感謝Espo和Yaakov幫助我。