Home >Backend Development >PHP Tutorial >How to send HTML mail with embedded images using PHP and PHPMAILER?
How to send HTML emails with embedded images using PHP and PHPMAILER?
HTML email is a richer and more personalized form of email that can insert pictures, links and styles into the email. Embedded images refer to sending images directly as part of the email in the HTML email instead of sending them as attachments.
In PHP, we can use PHPMAILER to send HTML emails with embedded images. PHPMAILER is a powerful PHP email sending library that can easily send various types of emails.
The following is a sample code that uses PHPMAILER to send HTML emails with embedded images:
<?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><img src="cid:logo" alt="Logo"></p> '; // 为内嵌图片添加附件 $mail->AddEmbeddedImage('path/to/image.jpg', 'logo'); // 图片路径和名称 // 发送邮件 if($mail->send()) { echo '邮件发送成功'; } else { echo '邮件发送失败:' . $mail->ErrorInfo; }
In the above sample code, we first introduced PHPMAILER through require
class library and creates a new PHPMailer object. Then, we set the mail server information, sender information, recipient information and email content by configuring the properties of the $mail
object.
In the HTML code in the email content, we reference the inline image through the src
attribute of the a1f02c36ba31691bcfe87b2722de723b
tag, and through cid: logo
to identify the image. Then, we use the $mail->AddEmbeddedImage()
method to add the real image file as an embedded image attachment, where the first parameter is the image path and name, and the second parameter is The cid
identifier needs to correspond to the one in the email content.
Finally, we use the $mail->send()
method to send the email and output the corresponding message based on the sending result.
Summary:
It is relatively simple to use PHP and PHPMAILER to send HTML emails with embedded images. We only need to add embedded image attachments through the AddEmbeddedImage()
method and add them to the email Just use the corresponding cid
identifier in the content. By using PHPMAILER, we can easily create richer and more personalized HTML emails, improving the attractiveness and effectiveness of emails.
The above is the detailed content of How to send HTML mail with embedded images using PHP and PHPMAILER?. For more information, please follow other related articles on the PHP Chinese website!