Maison > développement back-end > tutoriel php > Comment intégrer des images dans un e-mail HTML avec PHPMailer ?

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

Barbara Streisand
Libérer: 2024-10-23 00:32:02
original
797 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!

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