我创建了一个简单的 PHP 文件来处理表单并将其从联系页面发送到站点管理员。它在我自己的测试服务器(运行 Windows Server)上运行良好,但当我将其转移到另一台基于 Windows Server 的机器时,它停止工作。我仔细检查了所有资源,发现它们都在那里(我复制了所有内容)。网站上的其他一切都运行良好 - 当我按下“发送”时,它甚至会向我显示成功消息。有人知道可能出了什么问题吗?新服务器在 Domain.com 上,他们是否关闭了某些功能以禁用 PHP 脚本?
答案1
请咨询您的托管公司的支持人员。他们可能不允许从您的网站发送电子邮件。根据他们的操作方式,您的脚本可能会认为该邮件已发送,即使它从未离开系统。还要检查该邮件是否被您的垃圾邮件过滤器吞没。
答案2
用于发送邮件的机制在服务器的文件中配置php.ini
。检查服务器使用的机制以及该机制是否有效。例如,如果您使用 SMTP 发送邮件到“localhost”,请确保您还运行了允许您中继出站邮件的本地 SMTP 服务器。
编辑
向托管提供商了解从 PHP 发送邮件的首选方式。他们应该有适合其托管环境的说明。可能需要打一两个电话ini_set。
为了测试,只需创建一个像这样的简单页面,并进行测试以确保您收到邮件。
<?php
if (mail("[email protected]","Test","hello")) {
echo "OK";
} else {
echo "Fail";
}
?>