Bagaimana untuk Membenamkan Imej dalam E-mel HTML Menggunakan PHPMailer?

Susan Sarandon
Lepaskan: 2024-10-23 00:43:03
asal
605 orang telah melayarinya

How to Embed Images in HTML Emails Using PHPMailer?

Cara Membenamkan Imej dalam E-mel HTML

Menghantar e-mel HTML dengan imej terbenam boleh mencabar. Banyak penyelesaian bergantung pada sumber luaran, yang boleh menyebabkan imej gagal dimuatkan disebabkan oleh penapis spam atau sekatan klien e-mel.

Untuk mengatasi isu ini, pertimbangkan untuk menggunakan perpustakaan yang boleh dipercayai seperti PHPMailer. Mari kita terokai cara menggunakan PHPMailer untuk membenamkan imej:

Dokumentasi PHPMailer menyediakan panduan yang sangat baik untuk memaparkan imej terbenam (sebaris). Ia mengesyorkan menggunakan fungsi AddEmbeddedImage:

<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
Salin selepas log masuk

di mana:

  • nama fail ialah laluan ke fail imej
  • cid ialah Content ID yang digunakan untuk memautkan imej dalam e-mel HTML
  • nama ialah nama fail yang akan dipaparkan

Contohnya:

<code class="php">$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');</code>
Salin selepas log masuk

Untuk memasukkan imej terbenam ke dalam e-mel HTML, masukkan teg img dengan atribut src yang ditetapkan kepada nilai cid:

<code class="html"><img src="cid:my-photo" alt="my-photo" /></code>
Salin selepas log masuk

Berikut ialah contoh kod lengkap:

<code class="php">require_once('../class.phpmailer.php');
$mail = new PHPMailer(true);

$mail->IsSMTP();

try {
  $mail->Host       = "mail.yourdomain.com";
  $mail->Port       = 25;
  $mail->SetFrom('from@example.com', 'From Name');
  $mail->AddAddress('to@example.com', 'To Name');
  $mail->Subject = 'PHPMailer Test';

  $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
  $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src=&quot;cid:my-attach&quot;> Here is an image!';

  $mail->Send();
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}</code>
Salin selepas log masuk

Kod ini membina e-mel HTML dengan imej terbenam dan menghantar ia menggunakan SMTP. Anda boleh menyesuaikan contoh ini untuk menghantar e-mel dengan cara lain atau menggunakan kaedah berbeza yang disediakan oleh PHPMailer, seperti CreateBody untuk mendapatkan semula kandungan mesej dan menghantarnya secara manual.

Atas ialah kandungan terperinci Bagaimana untuk Membenamkan Imej dalam E-mel HTML Menggunakan PHPMailer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!