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

如何解决PHPMailer发送邮件时SSL证书验证失败问题?

解决PHPMailer SSL证书验证失败无法发送邮件的问题

先修正你代码里的基础语法错误,这些问题可能间接影响运行:

  • 把中文引号(’)替换为英文引号(')
  • $mail->Username = *****末尾补充分号
  • $mail->Subject = 'email test;补全闭合的单引号
  • 替换Host和邮箱地址里的@占位符为真实域名

核心问题:SSL证书验证失败

从日志可以看到,连接SMTP服务器并执行STARTTLS指令后,证书验证环节失败,以下是针对性解决思路:

1. 验证SMTP服务器证书有效性

在终端执行命令(替换为你的真实SMTP域名),检查证书状态:

openssl s_client -connect mail.yourdomain.com:25 -starttls smtp

重点确认:

  • 证书未过期
  • 证书绑定域名与SMTP服务器域名一致
  • 证书由受信任的CA机构颁发

2. 手动指定CA证书路径

如果服务器默认CA证书库未包含SMTP服务器的根证书,给PHPMailer配置明确的CA证书路径:

// 初始化PHPMailer后添加该配置
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => true,
        'verify_peer_name' => true,
        'cafile' => '/usr/local/etc/openssl/cacert.pem' // 替换为服务器上CA证书的实际路径
    )
);

3. 临时关闭证书验证(仅测试环境使用)

如果是测试场景且无法快速修复证书问题,可临时禁用验证(生产环境严禁使用,存在安全风险):

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

4. 确认端口与加密方式匹配

SMTP服务的端口和加密方式通常对应关系:

  • 端口25/587 → SMTPSecure = 'tls'
  • 端口465 → SMTPSecure = 'ssl'
    建议优先尝试587端口,多数服务商推荐该端口用于TLS加密连接。

修正后的完整示例代码

$mail = new PHPMailer();

$mail->isSMTP();
$mail->Host = 'mail.yourdomain.com'; // 替换为真实SMTP域名
$mail->SMTPAuth = true;
$mail->Username = 'your-email@yourdomain.com'; // 真实邮箱账号
$mail->Password = 'your-email-password'; // 真实邮箱密码
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// 选择适合你的SSL配置方案
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => true,
        'verify_peer_name' => true,
        'cafile' => '/path/to/cacert.pem'
    )
);

$mail->setFrom('sender@yourdomain.com', 'John');
$mail->addAddress('recipient@example.com', 'Doe');

$mail->Subject = 'email test';
$mail->isHTML(true);
$mail->Body = '<h1>Test Email Content</h1>'; // 正确的HTML格式

if(!$mail->send()){
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

内容的提问来源于stack exchange,提问作者János Tóth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:40:14