V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dadazhang
V2EX  ›  PHP

PHPMailer 发送邮件失败: SMTP connect() failed.

  •  
  •   dadazhang · 2017-04-20 12:39:17 +08:00 · 5960 次点击
    这是一个创建于 2781 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PHPMailer 发送邮件失败: SMTP connect() failed.
    php 的扩展 ssl 和 socket 都开启了,就是发送失败。。求大神们指点

    12 条回复    2017-04-23 09:42:06 +08:00
    knightdf
        1
    knightdf  
       2017-04-20 12:51:45 +08:00
    不会 Php ,但是这个应该是连不上本地或者远程的 SMTP 服务器,看 25 端口是不是开的
    Felldeadbird
        2
    Felldeadbird  
       2017-04-20 13:52:14 +08:00
    PHPMailer 有 DEBUG 模式,开启它。然后就知道什么错误了。
    hizmz
        3
    hizmz  
       2017-04-20 14:09:41 +08:00
    看看配置是否设置正确
    visonme
        4
    visonme  
       2017-04-20 14:29:36 +08:00
    前几天刚碰到这个问题,可惜最后也没解决,用的 gmail ,这里给出当时找到的可以参考的,或许对你有帮助:
    https://github.com/PHPMailer/PHPMailer/issues/270
    https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    opennet
        5
    opennet  
       2017-04-20 17:24:39 +08:00
    加上这个试试:
    $mail->SMTPOptions = array(
    'ssl' => array(
    'verify_peer' => false,
    'verify_peer_name' => false,
    'allow_self_signed' => true
    )
    );
    crist
        6
    crist  
       2017-04-20 19:45:21 +08:00
    配置有问题哈
    8355
        7
    8355  
       2017-04-21 14:06:24 +08:00
    先推荐一下我用 swiftmailer 没这么多问题

    1. 确认一下你邮箱本身是否开启了 smtp
    2. 确认一下配置是否正确(关键看密码 163 和 QQ 邮箱都是授权码模式 这个才是 smtp 的密码 并不是邮箱本身的密码)
    3. 确认一下 url 和端口是否匹配正确
    163 smtp.163.com 端口 465 SSL
    qq 企业邮箱 smtp.exmail.qq.com 端口 465 SSL
    qq 邮箱 smtp.qq.com 端口 465 SSL
    4.检查一下代码 跟 demo 的有没有不一样

    如果放弃折腾选择 swiftmailer 好用没的黑.
    dadazhang
        8
    dadazhang  
    OP
       2017-04-21 14:12:53 +08:00
    @8355 貌似是本身邮箱问题,
    8355
        9
    8355  
       2017-04-21 14:29:05 +08:00
    @dadazhang #8 概率略低 我们之前都是用腾讯的企业邮箱测试是最稳定的 QQ 邮箱和 163 的都是免费邮箱 限制非常多 邮件发送频率 关键字 附件大小等等各种限制 用了企业邮箱基本没有出现过失败的情况. 建议使用.
    dadazhang
        10
    dadazhang  
    OP
       2017-04-21 14:40:53 +08:00
    @8355 #9 准备试试
    zhangzilong
        11
    zhangzilong  
       2017-04-21 16:53:05 +08:00
    telnet smtp.163.com 25 看是否可以连接。
    bestia
        12
    bestia  
       2017-04-23 09:42:06 +08:00 via Android
    用的是不是 centos 系统? selinux 安全设置会导致 phpmail 无法发信,具体可百度 selinux stmp 查看问题及解决办法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.