Comment intégrer des images dans un e-mail HTML avec PHPMailer ?

Barbara Streisand
Libérer: 2024-10-23 00:32:02
original
608 Les gens l'ont consulté

How to Embed Images in HTML Email with PHPMailer?

Intégration d'images dans un e-mail HTML : une solution complète

L'envoi d'e-mails HTML avec des images intégrées peut améliorer l'engagement des utilisateurs et offrir une expérience plus attrayante visuellement . Cependant, y parvenir peut présenter certains défis.

Pour simplifier ce processus, l'utilisation d'une bibliothèque comme PHPMailer est fortement recommandée. PHPMailer automatise de nombreux problèmes courants associés à l'envoi d'e-mails et prend en charge les pièces jointes d'images en ligne.

Intégration d'images avec PHPMailer

PHPMailer offre une fonction intuitive pour ajouter des images intégrées au HTML emails :

<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
Copier après la connexion

Par exemple, pour intégrer une image nommée "rocks.png" avec le CID "my-attach", utilisez le code suivant :

<code class="php">$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");</code>
Copier après la connexion

Exemple complet d'e-mail HTML

Vous trouverez ci-dessous un exemple complet de la façon d'envoyer un e-mail HTML avec une image intégrée à l'aide de PHPMailer :

<code class="php">require_once('../class.phpmailer.php');

$mail = new PHPMailer(true);
$mail->IsSMTP();

try {
  // SMTP server settings
  $mail->Host = "mail.yourdomain.com";
  $mail->Port = 25;

  // Sender and recipient information
  $mail->SetFrom('[email protected]', 'First Last');
  $mail->AddAddress('[email protected]', 'John Doe');

  // Email subject and embedded image
  $mail->Subject = 'PHPMailer Test';
  $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");

  // HTML body with embedded image
  $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src=&quot;cid:my-attach&quot;> Here is an image!';

  // Send the email
  $mail->Send();
  echo "Message Sent OK<p></p>\n&quot;;
} catch (phpmailerException $e) {
  echo $e->errorMessage();
} catch (Exception $e) {
  echo $e->getMessage();
}</code>
Copier après la connexion

Personnalisation de l'envoi d'e-mails avec PHPMailer

Bien que PHPMailer prenne en charge l'envoi d'e-mails via SMTP par défaut, il offre la flexibilité de personnaliser le processus d'envoi. Si vous préférez d'autres méthodes d'envoi d'e-mails, vous pouvez toujours utiliser PHPMailer pour rédiger l'e-mail et utiliser ses fonctionnalités, y compris la gestion des images intégrées.

<code class="php">// Retrieve the message content
$mime_message = $mail->CreateBody();

// Send the email using your preferred custom method
echo $mime_message; // Echo it to the screen or send it using whatever method you want</code>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!