Maison > Article > développement back-end > Comment intégrer des images et des pièces jointes dans des e-mails en utilisant PHP ?
Comment intégrer des images et des pièces jointes dans des emails en utilisant PHP ?
Dans la société moderne, le courrier électronique est devenu un élément indispensable de la vie quotidienne et du travail des gens. Parfois, nous devons ajouter une image ou une pièce jointe à l'e-mail pour augmenter la richesse de l'e-mail et l'effet de transmission de l'information. Cet article explique comment utiliser PHP pour intégrer des images et des pièces jointes dans des e-mails et fournit des exemples de code spécifiques.
En PHP, nous pouvons utiliser la bibliothèque tierce PHPMailer pour envoyer des e-mails avec des images et des pièces jointes intégrées. PHPMailer fournit des fonctionnalités simples mais puissantes qui répondent à nos besoins.
Tout d'abord, nous devons installer la bibliothèque PHPMailer. Vous pouvez installer PHPMailer via Composer et exécuter la commande suivante :
composer require phpmailer/phpmailer
Dans le code PHP, nous devons créer une instance de PHPMailer et définir les informations relatives au courrier électronique, telles que les destinataires. , Expéditeur, sujet, etc.
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.';
Veuillez noter que la configuration SMTP dans le code ci-dessus doit être modifiée en conséquence en fonction de votre propre fournisseur de messagerie.
Pour ajouter une image dans un e-mail, nous devons ajouter le fichier image en tant que ressource intégrée via la méthode addEmbeddedImage() et utiliser le cid (Content-ID) dans le corps de l'e-mail pour référencer la ressource.
// 添加嵌入图像 $mailer->addEmbeddedImage('/path/to/image.jpg', 'logo', 'logo.jpg'); // 在邮件的正文中使用cid引用该图像 $mailer->Body .= '<p><img src="cid:logo" alt="Logo"></p>';
/path/to/image.jpg
dans le code ci-dessus est le chemin réel du fichier image, 'logo' est le nom de la ressource image référencée, 'logo.jpg' est le ressource d'image dans l'e-mail Le nom du fichier lorsqu'il est affiché. /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
dans le code ci-dessus est le chemin réel du fichier joint, et 'document.pdf' est le nom de fichier de la pièce jointe lorsqu'il est affiché dans le e-mail.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!