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

PHPMailer-master无法发送邮件,现有解决方案均无效求指导

问题排查及解决方案

  • 第一个问题:重复导入PHPMailer类文件导致版本冲突
    代码同时导入了PHPMailer 6.x版本的命名空间类文件和旧版的class.phpmailer.php,类定义冲突会直接阻断代码运行,先删除require_once('class.phpmailer.php');这行代码。

  • 第二个问题:缺少SMTP基础配置,无报错调试逻辑
    未指定PHPMailer使用SMTP协议,默认调用的服务器mail()函数大部分场景下被服务商禁用,同时缺少发件邮箱的SMTP认证信息、加密方式、端口等必填配置,且无异常捕获逻辑,无法定位错误原因。

  • 第三个问题:附件路径未做有效性校验
    代码直接使用$file变量作为附件路径,未提前验证路径是否存在、是否有读取权限,附件路径异常也会导致发送失败。


修正后可直接使用的参考代码

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';

// 调试模式:排查问题时设为2可输出完整SMTP交互日志,上线后改为0关闭
$debugMode = 2;
$send_mail = new PHPMailer($debugMode);

try {
    // SMTP基础配置,对应参数替换为你邮箱服务商提供的真实值
    $send_mail->isSMTP();
    $send_mail->Host = 'smtp.altervista.org';
    $send_mail->SMTPAuth = true;
    $send_mail->Username = 'classiperlo2@altervista.org';
    $send_mail->Password = '你的邮箱登录密码或专属授权码';
    $send_mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $send_mail->Port = 465;

    // 收发件人配置
    $send_mail->setFrom('classiperlo2@altervista.org', 'classiperlo2');
    $send_mail->addAddress('mymail@gmail.com');

    // 邮件内容配置
    $send_mail->isHTML(false);
    $send_mail->Subject = 'Backup';
    $send_mail->Body = 'Backup';

    // 附件合法性校验后再添加
    $attach_file = $file; // 此处提前给$file赋值为文件的绝对路径,避免相对路径读取失败
    if (file_exists($attach_file) && is_readable($attach_file)) {
        $send_mail->addAttachment($attach_file);
    } else {
        throw new Exception('附件异常:不存在或无读取权限,路径为'.$attach_file);
    }

    $send_mail->send();
    echo '发送成功';
    return true;
} catch (Exception $e) {
    echo "发送失败,错误信息:{$send_mail->ErrorInfo}";
    return false;
}

后续排查步骤

  1. 替换代码里的邮箱密码、附件路径两个变量为真实值,确认SMTP地址、端口和邮箱服务商公示的参数一致
  2. 开启调试模式运行代码,根据输出的错误信息定位问题:如果提示SMTP连接失败,联系主机商确认服务器开放了对应发件端口的出站权限;如果提示认证失败,确认是不是需要用邮箱专属授权码而非登录密码
  3. 测试发送成功后,再把调试模式改为0关闭日志输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:54:04