当前位置: 首页> 最新文章列表> 使用PHP和PHPMailer发送嵌入图片的HTML邮件完整教程

使用PHP和PHPMailer发送嵌入图片的HTML邮件完整教程

M66 2025-05-30

使用PHPMailer发送图文HTML邮件的完整步骤

电子邮件仍然是网络通信中不可或缺的一部分,而图文结合的HTML邮件越来越受欢迎。本文将为您讲解如何借助PHPMailer库,在PHP中发送带有嵌入图片的HTML邮件。

安装PHPMailer库

首先,确保项目中已经安装了PHPMailer。你可以使用Composer进行安装,只需在项目根目录的 composer.json 中添加以下依赖项:


"require": {
    "phpmailer/phpmailer": "~6.0"
}

安装完成后,PHPMailer将被自动加载,可以直接引用使用。

编写发送图文HTML邮件的PHP代码

以下是一个完整的示例代码,展示如何配置SMTP服务器、设置邮件内容以及嵌入图片:


use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    // 服务器设置与身份验证
    $mail->SMTPDebug = 0; 
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your-email@example.com';
    $mail->Password = 'your-email-password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    // 发件人与收件人
    $mail->setFrom('your-email@example.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');

    // 邮件内容
    $mail->isHTML(true);
    $mail->Subject = '这是一封带有图片的HTML邮件';
    $mail->Body = '
        <h1>Hello World!</h1>
        <p>这是一封带有图片的HTML邮件。<br>
        图片示例:<br>
        <img src="cid:image1" alt="Image" style="max-width:90%">
        </p>';

    // 嵌入本地图片
    $mail->AddEmbeddedImage('/path/to/image.jpg', 'image1');

    // 发送邮件
    $mail->send();
    echo '邮件发送成功!';
} catch (Exception $e) {
    echo '邮件发送失败:' . $mail->ErrorInfo;
}

代码解析

上面的代码演示了发送HTML格式邮件的流程:

  • SMTP配置部分设定了邮件服务器的地址、端口、认证信息等。
  • 通过 isHTML(true) 方法开启HTML格式支持,使邮件正文支持HTML标签。
  • 使用 AddEmbeddedImage 方法嵌入本地图片,通过设置 cid 值在HTML中进行引用。
  • 在邮件正文中使用 <img src="cid:image1"> 标签来展示嵌入的图片。

发送图文邮件的注意事项

发送图文邮件时,请注意以下几点:

  • 确保图片路径正确,且服务器有读取权限。
  • 每张嵌入图片必须设置唯一的CID,并在HTML中对应使用。
  • 使用真实的SMTP服务器地址及账号密码进行测试。

总结

通过PHP与PHPMailer结合使用,开发者可以快速实现发送包含图文的HTML邮件功能。该方式不仅能提升邮件的视觉表现,也有助于提高邮件的阅读率和专业性。只需按照步骤配置好SMTP、撰写HTML内容并正确嵌入图片,即可实现图文并茂的邮件发送。

  • 相关标签:

    HTML