Maison >développement back-end >tutoriel php >Comment intégrer des images dans des e-mails HTML à l'aide de PHPMailer ?
Envoyer des e-mails HTML avec des images intégrées peut être difficile. De nombreuses solutions s'appuient sur des ressources externes, ce qui peut entraîner l'échec du chargement des images en raison de filtres anti-spam ou de restrictions des clients de messagerie.
Pour surmonter ces problèmes, envisagez d'utiliser une bibliothèque fiable telle que PHPMailer. Explorons comment utiliser PHPMailer pour intégrer des images :
La documentation de PHPMailer fournit d'excellents conseils sur l'affichage d'images intégrées (en ligne). Il recommande d'utiliser la fonction AddEmbeddedImage :
<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
où :
Par exemple :
<code class="php">$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');</code>
Pour incorporer l'image intégrée dans l'e-mail HTML, insérez une balise img avec l'attribut src défini sur la valeur cid :
<code class="html"><img src="cid:my-photo" alt="my-photo" /></code>
Voici un exemple de code complet :
<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>
Ce code construit l'e-mail HTML avec l'image intégrée et envoie en utilisant SMTP. Vous pouvez adapter cet exemple pour envoyer des e-mails par d'autres moyens ou utiliser différentes méthodes fournies par PHPMailer, telles que CreateBody pour récupérer le contenu du message et l'envoyer manuellement.
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!