Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menghantar mel HTML dengan imej terbenam menggunakan PHP dan PHPMAILER?

Bagaimana untuk menghantar mel HTML dengan imej terbenam menggunakan PHP dan PHPMAILER?

王林
王林asal
2023-07-22 11:29:061202semak imbas

Bagaimana untuk menghantar e-mel HTML dengan imej terbenam menggunakan PHP dan PHPMAILER?

E-mel HTML ialah borang e-mel yang lebih kaya dan diperibadikan yang boleh memasukkan gambar, pautan dan gaya ke dalam e-mel. Imej terbenam merujuk kepada menghantar imej secara langsung sebagai sebahagian daripada e-mel dalam e-mel HTML dan bukannya menghantarnya sebagai lampiran.

Dalam PHP, kami boleh menggunakan PHPMAILER untuk menghantar e-mel HTML dengan imej terbenam. PHPMAILER ialah perpustakaan penghantaran e-mel PHP yang berkuasa yang boleh menghantar pelbagai jenis e-mel dengan mudah.

Berikut ialah contoh kod yang menggunakan PHPMAILER untuk menghantar e-mel HTML dengan imej terbenam:

<?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;
}

Dalam kod contoh di atas, kami mula-mula memperkenalkan perpustakaan kelas PHPMAILER melalui require dan mencipta PHPMailer baharu objek. Kemudian, kami menetapkan maklumat pelayan mel, maklumat pengirim, maklumat penerima dan kandungan e-mel dengan mengkonfigurasi sifat objek $mail. require引入了PHPMAILER类库并创建了一个新的PHPMailer对象。然后,我们通过配置$mail对象的属性来设置邮件服务器信息、发件人信息、收件人信息和邮件内容。

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

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

总结:
使用PHP和PHPMAILER发送带有内嵌图片的HTML邮件相对简单,我们只需要通过AddEmbeddedImage()方法添加内嵌图片附件,并在邮件内容中使用对应的cid

Dalam kod HTML dalam kandungan e-mel, kami merujuk imej terbenam melalui atribut src bagi teg a1f02c36ba31691bcfe87b2722de723b dan lulus cid: logo untuk mengenal pasti imej. Kemudian, kami menggunakan kaedah $mail->AddEmbeddedImage() untuk menambah fail imej sebenar sebagai lampiran imej terbenam, dengan parameter pertama ialah laluan dan nama imej, dan parameter kedua ialah cid perlu sepadan dengan yang terdapat dalam kandungan e-mel. 🎜🎜Akhir sekali, kami menggunakan kaedah $mail->send() untuk menghantar e-mel dan mengeluarkan mesej yang sepadan berdasarkan hasil penghantaran. 🎜🎜Ringkasan:
Menghantar e-mel HTML dengan imej terbenam menggunakan PHP dan PHPMAILER agak mudah Kami hanya perlu menambah lampiran imej terbenam melalui kaedah AddEmbeddedImage() dan menggunakannya dalam kandungan e-mel. Pengecam cid yang sepadan adalah mencukupi. Dengan menggunakan PHPMAILER, kami boleh mencipta e-mel HTML yang lebih kaya dan diperibadikan dengan mudah, meningkatkan daya tarikan dan keberkesanan e-mel. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menghantar mel HTML dengan imej terbenam menggunakan PHP dan PHPMAILER?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn