Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membenamkan Imej dalam E-mel HTML Menggunakan PHPMailer?

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

Susan Sarandon
Susan Sarandonasal
2024-10-23 00:43:03607semak imbas

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>

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>

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>

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>

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!

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