私はこの問題を抱えています:
PHP Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for chris.mahan@gmail.com in c:\inetpub\wwwroot\mailtest.php on line 12
このスクリプトから:
<?php
$to = "chris.mahan@gmail.com";
$subject = "test";
$body = "this is a test";
if (mail($to, $subject, $body)){
echo "mail sent";
}
else {
echo "problem";
}
?>
サーバー上のphp.iniのセクション:
[mail function]
; For Win32 only.
SMTP = server.domain.com; for Win32 only
smtp_port = 25
; For Win32 only.
sendmail_from = support@domain.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
(「サーバー」と「ドメイン」は実際のサーバーとドメイン名を正確に参照していることに注意してください)
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
おり、2008年9月1日午後5時の時点で完全にパッチが適用されています。稼働していると思いますIIS7
(確認方法は?)。
何か案は?
Espoへの対応:このマシンはデータセンターでホストされています。私たちはGmailアカウントを使いたくありません(それをやっていたので、それから離れたいです)。Windows Server 2003には、独自のSMTPサーバーが付属しています。
更新:Yaakov Ellisのアドバイスに従って、すべてのリレー制限を削除し、サーバーIPを許可リストに追加し(提供されているDNS逆引きボタンを使用)、動作を開始しました。
私を助けてくれたEspoとYaakovの両方に感謝します。