当前位置: 首页> 最新文章列表> 如何使用PHPMAILER发送内嵌图片的HTML邮件

如何使用PHPMAILER发送内嵌图片的HTML邮件

M66 2025-06-18

如何使用PHPMAILER发送带有内嵌图片的HTML邮件

HTML邮件是一种更加丰富和个性化的邮件形式,可以在邮件中插入图片、链接和样式。而内嵌图片是指在HTML邮件中直接将图片作为邮件的一部分发送,而不是通过附件方式发送。

在PHP中,我们可以借助PHPMAILER来发送带有内嵌图片的HTML邮件。PHPMAILER是一个功能强大的PHP邮件发送类库,可以方便地发送各种类型的邮件。

PHPMAILER代码示例

以下是一个使用PHPMAILER发送带有内嵌图片的HTML邮件的示例代码:

<?php
require 'PHPMailer/PHPMailerAutoload.php';

// 创建一个新的PHPMailer对象
$mail = new PHPMailer;

// 配置邮件服务器信息
$mail->isSMTP();                                      // 设置邮件使用SMTP
$mail->Host = 'smtp.example.com';                      // 邮件服务器地址
$mail->SMTPAuth = true;                                // 启用SMTP身份验证
$mail->Username = 'your-email@example.com';            // SMTP用户名
$mail->Password = 'password';                          // SMTP密码
$mail->SMTPSecure = 'tls';                             // 启用TLS加密
$mail->Port = 587;                                     // 邮件服务器端口号

// 配置发件人信息
$mail->setFrom('your-email@example.com', 'Your Name');  // 发件人邮箱和名称

// 配置收件人信息
$mail->addAddress('recipient@example.com', 'Recipient Name');  // 收件人邮箱和名称

// 配置邮件内容
$mail->Subject = 'My HTML Email';                      // 邮件主题
$mail->isHTML(true);                                   // 设置邮件内容为HTML格式

// 邮件内容中的HTML代码,包含一个内嵌图片
$mail->Body = '<h1>Hello, World!</h1>
<p>This is an HTML email with embedded image.</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">PHP免费学习笔记(深入)</a>”;</p>
<p>@@##@@</p>';

// 为内嵌图片添加附件
$mail->AddEmbeddedImage('path/to/image.jpg', 'logo');   // 图片路径和名称

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

在上述示例代码中,我们首先通过require引入了PHPMAILER类库并创建了一个新的PHPMailer对象。然后,我们通过配置$mail对象的属性来设置邮件服务器信息、发件人信息、收件人信息和邮件内容。

在邮件内容中的HTML代码中,我们通过Logo标签的src属性来引用内嵌图片,并通过cid:logo来标识该图片。然后,我们使用$mail->AddEmbeddedImage()方法将真实的图片文件添加为内嵌图片附件,其中第一个参数是图片路径和名称,第二个参数是cid标识符,需要和邮件内容中的对应上。

最后,我们使用$mail->send()方法发送邮件,并根据发送结果输出相应的消息。

总结

使用PHP和PHPMAILER发送带有内嵌图片的HTML邮件相对简单。我们只需要通过AddEmbeddedImage()方法添加内嵌图片附件,并在邮件内容中使用对应的cid标识符即可。通过使用PHPMAILER,我们可以轻松地创建更加丰富和个性化的HTML邮件,提升邮件的吸引力和效果。