如何解决php mail错误问题

藏色散人
发布: 2021-10-20 11:42:04
原创
1795人浏览过
php mail错误的解决办法:1、在smtp服务的中继选项中添加本机IP地址;2、在网关做个端口映射,把25端口映射到本机即可。

如何解决php mail错误问题

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

如何解决php mail错误问题?

php的mail()函数出错的问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>phpinfo</title>
</head>
<body>
<?
$to = "atoat@sina.com";
$subject = "php-Mail";
$msg = "I completely understand SMTP servers now!";
$headers = "From: atoat@163.com/r/nReply-To: atoat@163.com";
mail("$to", "$subject", "$msg", "$headers");
echo "finished!";
?>
</body>
</html>
登录后复制

出现的错误:

立即学习PHP免费学习笔记(深入)”;

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for atoat@sina.com in C:/webserver/htdocs/www/mail.php on line 14
登录后复制

php.ini配置情况

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = atoat@163.com
登录后复制

已经安装了windows自带的smtp服务

找了好久才发现需要在smtp服务的中继选项中添加本机IP地址

AI建筑知识问答
AI建筑知识问答

用人工智能ChatGPT帮你解答所有建筑问题

AI建筑知识问答 22
查看详情 AI建筑知识问答

虚拟服务器->属性->访问->中继

选择"仅以下列表"=>"单台计算机"=>添加127.0.0.1的本地地址

程序没有出现问题,但收件箱中没有立即收到信息.

没有收到是因为我的机子是在内网中,不能把邮件发送到外网.

解决方法:

在网关做个端口映射,把25端口映射到本机.或者本机有公网IP.

推荐学习:《PHP视频教程

以上就是如何解决php mail错误问题的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号