Bagaimana untuk membenamkan imej dan lampiran dalam e-mel menggunakan PHP?
Dalam masyarakat moden, e-mel telah menjadi bahagian yang sangat diperlukan dalam kehidupan dan pekerjaan harian orang ramai. Kadangkala, kita perlu menambah imej atau lampiran pada e-mel untuk meningkatkan kekayaan e-mel dan kesan penyampaian maklumat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membenamkan imej dan lampiran dalam e-mel, dan memberikan contoh kod khusus.
Dalam PHP, kami boleh menggunakan pustaka pihak ketiga PHPMailer untuk menghantar e-mel dengan imej dan lampiran terbenam. PHPMailer menyediakan ciri yang ringkas namun berkuasa yang memenuhi keperluan kami.
Mula-mula, kita perlu memasang perpustakaan PHPMailer. Anda boleh memasang PHPMailer melalui Composer dan laksanakan arahan berikut:
composer require phpmailer/phpmailer
Dalam kod PHP, kita perlu mencipta contoh PHPMailer dan tetapkan maklumat berkaitan e-mel, seperti sebagai penerima, Pengirim, subjek, dsb.
require 'vendor/autoload.php'; // 创建PHPMailer实例 $mailer = new PHPMailerPHPMailerPHPMailer(); // 配置SMTP $mailer->isSMTP(); $mailer->Host = 'smtp.example.com'; $mailer->SMTPAuth = true; $mailer->Username = 'you@example.com'; $mailer->Password = 'your-password'; $mailer->Port = 587; $mailer->CharSet = 'UTF-8'; // 设置邮件信息 $mailer->setFrom('you@example.com', 'Your Name'); $mailer->addAddress('recipient@example.com', 'Recipient Name'); $mailer->Subject = 'Testing Email with Image and Attachment'; $mailer->Body = 'This is the body of the email.'; $mailer->AltBody = 'This is the plain text version of the email.';
Sila ambil perhatian bahawa konfigurasi SMTP dalam kod di atas perlu diubah suai dengan sewajarnya mengikut pembekal mel anda sendiri.
Untuk menambah imej dalam e-mel, kita perlu menambah fail imej sebagai sumber terbenam melalui kaedah addEmbeddedImage() dan gunakan cid (Content-ID) dalam badan e-mel untuk merujuk sumber.
// 添加嵌入图像 $mailer->addEmbeddedImage('/path/to/image.jpg', 'logo', 'logo.jpg'); // 在邮件的正文中使用cid引用该图像 $mailer->Body .= '<p><img src="cid:logo" alt="Logo"></p>';
/path/to/image.jpg
dalam kod di atas ialah laluan sebenar fail imej, 'logo' ialah nama sumber imej yang dirujuk, 'logo.jpg' ialah sumber imej dalam e-mel Nama fail apabila dipaparkan. /path/to/image.jpg
是图像文件的实际路径,'logo'是引用图像资源的名称,'logo.jpg'是图像资源在邮件中显示时的文件名。
要添加附件,我们可以通过addAttachment()方法将文件添加到邮件中。
// 添加附件 $mailer->addAttachment('/path/to/file.pdf', 'document.pdf');
上述代码中的/path/to/file.pdf
// 发送邮件 if ($mailer->send()) { echo '邮件发送成功!'; } else { echo '邮件发送失败:' . $mailer->ErrorInfo; }
/path/to/file.pdf
dalam kod di atas ialah laluan sebenar fail lampiran dan 'document.pdf' ialah nama fail lampiran apabila ia dipaparkan dalam emel.
Atas ialah kandungan terperinci Bagaimana untuk membenamkan imej dan lampiran dalam e-mel menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!