搜索
开启辅助访问 切换到宽版

QQ登录

只需一步,快速开始

扫一扫,访问微社区

注册 找回密码
查看: 2791|回复: 0
打印 上一主题 下一主题

用php发送email (邮件)若干问题总结

[复制链接]
跳转到指定楼层
楼主
发表于 2015-11-21 11:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有很多网友在正确配置好opencart中文版邮件后,系统仍然无法发送邮件,下面总结了一些解决方案,有经验的请接着顶哦。


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

问题一

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

解决方法:

PHP的Mail函数使用的是SMTP服务发出E-Mail的。也就是说你需要在php.ini里配置好适当的SMTP服务器地址和端口信息。如果你需要在本机上发出E-Mail,即

SMTP = localhost

smtp_port = 25

这样的话,你需要在你自己的本机上配置上SMTP服务才可以。你可以尝试打开IIS的SMTP服务。
问题二
mail(): SMTP server response: 550 5.7.1 Unable to

解决方法:
windows服务器设置如下:
关键一步:我的电脑->管理->服务和应用程序 ->SMTP虚拟服务器上点击右键,在弹出的属性窗口里进行如下设置:
点击访问选项卡,再点击中继,在弹出的窗口出点击添加,然后选单台计算机,添加IP地址为 127.0.0.1。

这时就可以测试一下了..如果不可以继续往下操作...

linux 服务器设置如下:
找到环境在用的php.ini文件,做成如下配 置,注意修改后要重启web服务器:
php.ini的设置: 可使用默认选项,不用修改
SMTP = localhost      //默认,不用修改
smtp_port = 25        //默认,不用修改
sendmail_from=你的设定值  //如果不指定,就必须在程序中指定

这样就可以使用mail函数了,可以写一个小程序测试了:)
  1. <?php
  2. $to = "***@163.com";  //改成自己的邮箱进行测试
  3. $subject = "Test mail";
  4. $message = "Hello! This is a simple email message.";
  5. $from = "shf@qq.com";  //随意设置
  6. $headers = "From: $from";
  7. mail($to,$subject,$message,$headers);
  8. echo "Mail Sent.";
  9. ?>
复制代码


问题三、 主机上没有安装sendmail主机,服务没有正常启动
问题处理 https://www.opencart.cn/thread-10320-1-1.html

注意:收不到邮件还有另一个原因就 是目标邮件系统服务商的设置,有的当成正常邮件,有的当成垃圾邮件,还有的直接不接收,如果一个邮箱不成功的话,建议换个邮件服务提供商试试。据我测试 163可以收到,qq有时收不到。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

QQ|手机版|OpenCart - 中文官方网站 ( 蜀ICP备09033774号|人工智能

GMT+8, 2024-4-27 02:36 , Processed in 0.058580 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表