我得到这个问题: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帮助我。