![PHP 服务器无法接收来自 Windows SMTP 的邮件](https://linux22.com/image/799556/PHP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%A0%E6%B3%95%E6%8E%A5%E6%94%B6%E6%9D%A5%E8%87%AA%20Windows%20SMTP%20%E7%9A%84%E9%82%AE%E4%BB%B6.png)
我遇到了一个奇怪的问题,我在 Windows 服务器上为我的 PHP IIS 设置了 SMTP 服务器,并且我一直从那里发送邮件,但是虽然我的 gmail 帐户收到了这封邮件,但我的 PHP 托管服务器却没有收到这些邮件。我以为它可能在我的 PHP 服务器上被阻止或被当作垃圾邮件,但情况似乎很明显。有人有什么想法吗?
通过在 PHP.ini 文件的 sent_from 行中添加我的域名来解决此问题
这是我的PHP代码:
if (isset($_POST['submit'])) { $msg .= "时间: " . date("m/d/yg:ia", time()) . "\n"; $msg .= "公司名称: " . $compname . "\n"; $msg .= "预订名称: " . $opp['opname'] ."\n" ; $msg .= "记录经理: " . $opp['recmanager'] ."\n" ; $msg .= "创建日期: " . substr($opp['createdate'],0,-7) ."\n" ; foreach ($_POST as $field=>$value) { if ($field != "submit") $msg .= $field . ": " . $value . "\n"; } mail("[电子邮件保护]", "修改请求", $msg, "发件人:". $_POST['email']. "");
}
Gmail“显示原始”转储
送到了(送去了:[电子邮件保护]
接收者:10.49.3.103,SMTP ID 为 b7csp172675qeb;2013 年 2 月 26 日星期二 07:50:38 -0800 (PST)
X-Received:由 10.68.143.167 发送,SMTP ID 为 sf7mr24143724pbb.21.1361893838188;2013 年 2 月 26 日星期二 07:50:38 -0800 (PST)
返回路径:
已接收:来自 CRMSRV01(60-241-185-105.static.tpgi.com.au。[60.241.185.105]),发送者为 mx.google.com,ESMTP id 为 ak6si1269596pbd.104.2013.02.26.07.50.36;2013 年 2 月 26 日星期二 07:50:38 -0800 (PST)
已接收 SPF:中性(google.com:60.241.185.105 既未被 string@crmsrv01 域的最佳猜测记录允许也未被拒绝)客户端 ip=60.241.185.105;
身份验证结果:mx.google.com;spf=neutral(google.com:60.241.185.105 既未被 string@crmsrv01 域的最佳猜测记录允许也未被拒绝)smtp.mail=string@crmsrv01 已接收:来自 CRMSRV01([127.0.0.1])的邮件,由 CRMSRV01 使用 Microsoft SMTPSVC(7.5.7601.17514) 发送;2013 年 2 月 27 日,星期三 02:50:33 +1100
日期:2013 年 2 月 27 日星期三 03:50:33 +1200
主题:取消请求
到:[电子邮件保护]
X-PHP-Originating-Script:0:cancel.php
从:[电子邮件保护]
返回路径:string@CRMSRV01
消息ID:
X-OriginalArrivalTime:2013 年 2 月 26 日 15:50:33.0901(UTC)FILETIME=[0328A5D0:01CE1439]
时间:2013 年 2 月 27 日凌晨 3:50
公司名称:XXXX
预订姓名:XXXXXXXXXXXXXX
丢失消息详情:
报告-MTA:dns;CRMSRV01
从 MTA 接收:dns;CRMSRV01
到达日期:2013 年 2 月 27 日星期三 04:09:30 +1100
最终收件人:rfc822;[电子邮件保护]
操作:失败
状态:5.5.0
诊断代码:smtp;550 访问被拒绝 - HELO 名称无效(参见 RFC2821 4.1.1.1)
答案1
检查两端的事件和服务器日志。这将有助于定位问题。此外,还需要有关两端操作系统的更多信息。