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:
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="cid:my-attach"> 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!