You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHPMailer对接Office365 SMTP运行正常 一周前突然发送失败求解决方案

PHPMailer连接Office365 SMTP发送失败故障解决方案

故障根因:你的报错日志显示,程序可正常连接Office365 SMTP服务器、完成EHLO握手、发送STARTTLS指令后也收到了服务器的就绪响应,但后续TLS加密协商直接失败导致连接断开。因你原有配置未做修改突然失效,完全符合2021年10月Office365正式停止支持TLS1.0、TLS1.1协议的服务变更特征。

可按以下步骤依次排查解决:

  • 移除原有不安全的SSL验证配置,原有配置关闭了证书校验、允许自签名证书,Office365使用公共可信CA签发的正规证书,无需该配置,反而可能导致TLS协商异常。
  • 强制指定TLS1.2作为加密协议版本,更新你的SMTPOptions配置为以下内容:
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => true,
        'verify_peer_name' => true,
        'allow_self_signed' => false,
        'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
    )
);
  • 验证服务端环境依赖:
    • 确认PHP版本 >= 5.6,建议升级到7.1及以上稳定版本,低于5.6的PHP版本原生不支持TLS1.2协议指定
    • 确认服务器openssl扩展版本 >= 1.0.1,可通过phpinfo()函数查看当前openssl版本信息
    • 确认服务器出站587端口无防火墙、安全组规则拦截,且没有网络代理/网关设备对TLS包做协议降级改写
  • 确认Office365账号权限配置:
    • 若对应邮箱账号开启了多因素认证,不能直接使用账号登录密码作为SMTP密码,需要在账号安全中心生成应用专用密码填入配置
    • 若租户开启了安全默认值策略,需要在Azure AD后台为对应邮箱账号单独启用「经过身份验证的SMTP」权限,否则基础SMTP认证请求会被直接拒绝

内容的提问来源于stack exchange,提问作者DrCreampuff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:24:00