Maison  >  Article  >  développement back-end  >  Comment intégrer des images dans des e-mails HTML à l'aide de PHPMailer

Comment intégrer des images dans des e-mails HTML à l'aide de PHPMailer

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-22 21:36:29604parcourir

How to Embed Images in HTML Emails Using PHPMailer

Mise en œuvre d'e-mails HTML avec des images intégrées

L'intégration d'e-mails HTML avec des images intégrées nécessite une compréhension approfondie des techniques d'envoi d'e-mails. Cet article explore les subtilités de l'intégration d'images dans les e-mails, en se concentrant spécifiquement sur l'utilisation de la robuste bibliothèque PHPMailer.

Comprendre les images en ligne

Les images en ligne ou intégrées dans les e-mails diffèrent des accessoires traditionnels. Ils sont directement incorporés au corps de l’e-mail et apparaissent comme faisant partie du contenu du message lui-même. Cette technique élimine le besoin de téléchargements ou de pièces jointes externes.

PHPMailer et images intégrées

PHPMailer est une bibliothèque estimée conçue pour simplifier le processus d'envoi d'e-mails. Il offre une fonction dédiée à l'ajout de pièces jointes en ligne, vous permettant d'intégrer de manière transparente des images dans vos e-mails HTML. Pour utiliser cette fonctionnalité, invoquez simplement la fonction AddEmbeddedImage(), en fournissant les paramètres suivants :

filename : Chemin d'accès au fichier image sur le serveur
cid : Identifiant unique de l'image
nom : Nom d'affichage de l'image

Exemple d'implémentation

Voici un exemple de script PHP illustrant l'utilisation de PHPMailer pour envoyer un email HTML avec une image intégrée :

<code class="php"><?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer(true); // Enable exceptions for error handling

$mail->IsSMTP(); // Configure SMTP settings
$mail->Host = "mail.yourdomain.com"; // SMTP server
$mail->Port = 25; // SMTP port
$mail->SetFrom('[email protected]', 'First Last');
$mail->AddAddress('[email protected]', 'John Doe');
$mail->Subject = 'PHPMailer Test';
$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png"); // Embed the image
$mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src="cid:my-attach"> Here is an image!';
$mail->AddAttachment('something.zip'); // Regular attachment (not inline)
$mail->Send();
echo "Message Sent OK<p></p>\n";
?></code>

Considérations supplémentaires

Si nécessaire, vous pouvez remplacer la méthode Send() par CreateBody() pour récupérer le contenu MIME du message électronique. Cela vous permet d'envoyer l'e-mail en utilisant votre propre méthode préférée. PHPMailer reste un outil précieux pour construire l'email, garantissant la bonne intégration des images.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn