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

PHP使用PHPMailer通过SMTPS发邮件失败(Windows 11服务器异常)

SMTPS邮件发送在特定Windows 11服务器上失败的问题求助

我正尝试修改网站邮件系统,使其完全通过标准SMTPS发送邮件,使用的最简PHP脚本如下:

<?php
require "vendor/phpmailer/phpmailer/PHPMailerAutoload.php";

try {
    $mail = new PHPMailer();
    $mail->SMTPDebug = SMTP::DEBUG_CONNECTION;
    $mail->Mailer = 'smtp';
    $mail->Host = 'mydomain.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'test@mydomain.com';
    $mail->Password = 'my-password';
    $mail->SMTPSecure = 'ssl';
    $mail->From = 'test@mydomain.com';
    $mail->FromName = 'TEST';
    $mail->ConfirmReadingTo = 'test@mydomain.com';
    $mail->Port = 465;
    $mail->Timeout = 30;
    $mail->IsHTML(false);
    $mail->CharSet = 'UTF-8';
    $mail->addAddress('me@mydomain.com');
    $mail->Subject = 'TEST';
    $mail->Body = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';

    $sent = $mail->Send();
    echo $sent ? "SENT" : "NOT SENT";
} catch (Exception $e) {
    echo "ERROR";
}

该脚本在测试过的所有机器及任意邮箱账号上均可正常运行,但在某台Windows 11服务器上运行时抛出如下错误:

2023-05-12 04:26:37 Connection: opening to ssl://mydomain.com:465, timeout=30, options=array ()
2023-05-12 04:26:38 Connection failed. Error #2: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac [E:\www\APP\vendor\phpmailer\phpmailer\class.smtp.php line 298]
2023-05-12 04:26:38 Connection failed. Error #2: stream_socket_client(): Failed to enable crypto [E:\www\APP\vendor\phpmailer\phpmailer\class.smtp.php line 298]
2023-05-12 04:26:38 Connection failed. Error #2: stream_socket_client(): unable to connect to ssl://mydomain.com:465 (Unknown error) [E:\www\APP\vendor\phpmailer\phpmailer\class.smtp.php line 298]
2023-05-12 04:26:38 SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed.
NOT SENT

经多日排查(累计耗时超20小时),确定问题与该Windows 11服务器直接相关,与PHP及SSL库无关。已完成以下测试:

  • 使用市面多种库编写最简脚本,均出现相同错误;
  • 在多台Windows 10、Windows 11、Linux及Mac机器上测试,仅该Windows 11服务器异常;
  • 检查Windows SSL和TLS选项,与DEV及PROD机器完全一致;
  • 尝试Telnet连接,无反馈;
  • 命令行运行脚本,结果相同;
  • 使用自有服务器邮箱账号发送,问题依旧;
  • 强制SMTP连接使用SSL2、SSL3、TLS1.0-TLS1.3,均报错;
  • 关闭杀毒软件,结果不变。

因所用PHPMailer版本仅支持网站的PHP 7.1,属于旧版本,官方拒绝受理工单,现寻求技术帮助。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:47:40