PHP邮件发送异常:点击发送后仅显示“Sending...”无响应
问题分析与解决步骤
核心问题定位
XAMPP错误日志中的提示script '/Applications/XAMPP/xamppfiles/htdocs/contact_process.php' not found or unable to stat是直接诱因——前端请求的PHP脚本路径错误,服务器找不到该文件,导致请求挂起,按钮持续显示“Sending...”且无响应。
具体解决步骤
1. 核对文件存放路径
确认contact_process.php的实际位置:你的HTML文件在htdocs/constructioncompany-master/public/目录下,若PHP脚本放在htdocs根目录,前端请求需用相对路径../contact_process.php或绝对路径/contact_process.php;若脚本放在constructioncompany-master目录下,对应调整请求路径即可。
2. 修正前端请求路径(以contact.js为例)
找到AJAX请求代码,将URL改为正确路径:
原错误路径示例:
$.ajax({ url: 'contact_process.php', // 其他配置 })
修正为相对路径:
$.ajax({ url: '../contact_process.php', // 其他配置 })
或绝对路径:
$.ajax({ url: '/contact_process.php', // 其他配置 })
3. 验证PHP脚本可访问
在浏览器地址栏输入http://localhost/contact_process.php(脚本在htdocs根目录时),确认无404错误。若仍显示404,继续调整文件位置或请求路径。
4. 检查PHP邮件配置
路径问题解决后,确认邮件组件配置:
- 打开XAMPP的
php.ini,找到[mail function]段,配置SMTP、smtp_port、sendmail_from等参数; - 同步检查
sendmail.ini的SMTP服务器信息是否正确。
5. 调试前端请求
通过浏览器开发者工具的Network面板查看请求状态:
- 404:继续修正路径;
- 500:查看XAMPP PHP错误日志排查脚本语法问题;
- 200但无邮件:检查PHP脚本中
mail()函数的参数(收件人、主题、内容、头信息)是否完整正确。
额外注意事项
- 必须通过
http://localhost/constructioncompany-master/public/index.html访问页面,不能用file:///本地文件协议,否则无法触发Apache服务器执行PHP脚本; - 若未用到Node.js和Express,可暂时忽略,先优先跑通PHP邮件流程。
内容的提问来源于stack exchange,提问作者rlaxluver12s
相关产品推荐
相关产品推荐

