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

PHPmailer发送邮件内嵌图片无法显示问题求助

问题修正代码及说明

核心问题点与修正:

  • 循环内重复调用$mail->send(),导致发送逻辑混乱
  • addAddress的第二个参数错误,应传入收件人姓名而非邮件主题
  • 改用绝对路径引入图片,避免相对路径导致的文件找不到问题
  • 调整代码结构,将重复配置的内容移到循环外,提升效率

修正后的完整代码:

try {
    // 初始化PHPMailer实例(原代码需补充此基础实例化)
    $mail = new PHPMailer(true);

    // 补充SMTP服务器配置(根据你的实际邮件服务商信息填写)
    // $mail->isSMTP();
    // $mail->Host = '你的SMTP主机地址';
    // $mail->SMTPAuth = true;
    // $mail->Username = '你的邮箱账号';
    // $mail->Password = '你的邮箱授权码/密码';
    // $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    // $mail->Port = 465;

    // 内嵌图片:使用绝对路径确保文件可被读取
    $imageAbsolutePath = __DIR__ . '/images/wncwasmall.jpg';
    $mail->addEmbeddedImage($imageAbsolutePath, "logo", "wncwasmall.jpg", "image/jpg");

    // 邮件基础配置(只需设置一次)
    $mail->isHTML(true);
    $mail->Subject = $subject;
    $mail->Body = '<center><img alt="WNCWA Logo" src="cid:logo"></center>' . $message;
    $mail->setFrom('email@wncwa.net', 'WNCWA');
    $mail->addReplyTo($replyto, $sender);
    // 发件人副本:若需每封邮件都抄送自己则保留,否则可移除
    $mail->addAddress($from_email, $sender);

    // 数据库查询
    $sql = $conn->prepare("
        SELECT fname, lname, email 
        FROM test
        ORDER BY lname
    ");
    $sql->execute();

    while ($row = $sql->fetch()) {
        $fname = $row['fname'];
        $lname = $row['lname'];
        $to = $row['email'];
        $recipientFullName = $fname . ' ' . $lname;

        // 添加目标收件人(正确传入收件人姓名)
        $mail->addAddress($to, $recipientFullName);

        // 执行发送(仅调用一次)
        $isSent = $mail->send();
        
        if (!$isSent) {
            echo "<div style='color:red;' >NOT sent - $fname $lname <br /></div> ";
        }

        // 清空收件人列表,准备下一封邮件发送
        $mail->clearAddresses();
    }
} catch (Exception $e) {
    echo "全局发送错误: {$mail->ErrorInfo}";
}

补充说明:

  • 若使用旧版PHPMailer,addEmbeddedImage可兼容大写写法AddEmbeddedImage,但推荐用规范的小写方法名
  • 务必确认$imageAbsolutePath指向的图片文件存在,且PHP进程对该文件有读取权限
  • SMTP配置部分是邮件发送的基础,必须根据你的邮箱服务商信息补充完整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 05:41:16