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

Bagaimana untuk menghantar mel HTML dengan gambar menggunakan PHP dan PHPMAILER?

WBOY
WBOYasal
2023-07-21 09:21:291703semak imbas

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

E-mel memainkan peranan penting dalam komunikasi moden, tetapi menghantar e-mel HTML dengan imej mungkin mengelirukan sesetengah pembangun PHP. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan PHPMailer untuk menghantar e-mel HTML dengan imej. Kami akan memberikan contoh kod untuk membantu anda memahami dengan lebih baik cara mencapai perkara ini.

Pertama, kami perlu memastikan bahawa perpustakaan PHPMailer dipasang dalam projek kami. Anda boleh memasangnya dengan menambahkan kod berikut pada fail composer.json anda:

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

Setelah perpustakaan PHPMailer dipasang, kami boleh mula menulis kod untuk menghantar e-mel HTML dengan imej.

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;

require 'vendor/autoload.php';

// 实例化PHPMailer对象
$mail = new PHPMailer(true);

try {
    // 服务器设置与身份验证
    $mail->SMTPDebug = 0;                                 // 0 = 关闭调试输出
    $mail->isSMTP();                                      // 通过SMTP发送
    $mail->Host = 'smtp.example.com';                     // 设置SMTP服务器
    $mail->SMTPAuth = true;                               // 启用SMTP身份验证
    $mail->Username = 'your-email@example.com';           // 您的邮箱用户名
    $mail->Password = 'your-email-password';              // 您的邮箱密码
    $mail->SMTPSecure = 'tls';                            // 启用TLS加密,可选
    $mail->Port = 587;                                    // 设置SMTP端口号

    // 发件人与收件人设置
    $mail->setFrom('your-email@example.com', 'Your Name');        // 发件人邮箱和姓名
    $mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱和姓名

    // 邮件内容设置
    $mail->isHTML(true);                                   // 将邮件格式设置为HTML
    $mail->Subject = '这是一封带有图片的HTML邮件';             // 邮件主题

    // 邮件正文
    $mail->Body = '<h1>Hello World!</h1>
                   <p>这是一封带有图片的HTML邮件。<br>
                   图片示例:<br>
                   <img src="cid:image1" alt="Image" width="200px"></p>';

    // 附件-图片
    $mail->AddEmbeddedImage('/path/to/image.jpg', 'image1');   // 替换"image1"为您要嵌入的图片cid

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

Contoh kod di atas menunjukkan cara menggunakan perpustakaan PHPMailer untuk menghantar e-mel HTML dengan imej. Kami mula-mula membuat instantiate objek PHPMailer dan menetapkan pelayan SMTP dan maklumat pengesahan dalam objek. Seterusnya, kami menetapkan maklumat penghantar dan penerima.

Apabila menetapkan kandungan e-mel, kami menetapkan kaedah isHTML kepada true untuk menentukan format e-mel sebagai HTML. Kami juga menetapkan subjek dan kandungan e-mel. Dalam kandungan, kami menggunakan penanda HTML untuk mencipta halaman HTML ringkas yang mengandungi imej terbenam. Atribut src bagi teg a1f02c36ba31691bcfe87b2722de723b ditetapkan kepada cid:image1, supaya imej itu turut dibenamkan dalam e-mel. isHTML方法设置为true,以指定邮件格式为HTML。我们还设置了邮件主题和正文。在正文中,我们使用HTML标记来创建一个简单的HTML页面,其中包含一张嵌入的图片。a1f02c36ba31691bcfe87b2722de723b标签的src属性被设置为cid:image1,这样将图片同时嵌入到邮件中。

最后,我们使用AddEmbeddedImage方法将图片附加到邮件中,并为图片提供一个唯一的cid。请确保替换示例代码中的路径和图片cid为您自己的信息。

一旦所有设置完成,我们调用send

Akhir sekali, kami menggunakan kaedah AddEmbeddedImage untuk melampirkan imej pada e-mel dan memberikan imej cid yang unik. Sila pastikan untuk menggantikan laluan dan imej cid dalam kod sampel dengan maklumat anda sendiri.

Setelah semua tetapan selesai, kami memanggil kaedah hantar untuk menghantar e-mel. Selepas penghantaran berjaya, "E-mel berjaya dihantar!" jika penghantaran gagal, maklumat ralat tertentu akan dikeluarkan 🎜🎜Semoga artikel ini dapat membantu anda menghantar e-mel HTML dengan imej menggunakan PHP dan PHPMailer. Dengan cara ini anda boleh menghantar kandungan e-mel yang lebih kaya dan pelbagai kepada penerima anda. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menghantar mel HTML dengan gambar 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