Position actuelle: Accueil> Derniers articles> Comment envoyer un courrier HTML avec des photos à l'aide de PHP et Phpmailer?

Comment envoyer un courrier HTML avec des photos à l'aide de PHP et Phpmailer?

M66 2025-05-30

Effectuez les étapes pour envoyer un message HTML à texte avec phpmailer

Le courrier électronique reste une partie intégrante de la communication réseau, et le courrier HTML combiné avec des graphiques et du texte devient de plus en plus populaire. Cet article vous expliquera comment utiliser la bibliothèque PHPMailer pour envoyer des e-mails HTML avec des images intégrées en PHP.

Installez la bibliothèque PHPMailer

Tout d'abord, assurez-vous que PHPMailer est déjà installé dans le projet. Vous pouvez utiliser Composer pour l'installer, il suffit d'ajouter les dépendances suivantes dans composer.json du répertoire racine du projet:

 
"require": {
    "phpmailer/phpmailer": "~6.0"
}

Une fois l'installation terminée, PHPMailer sera automatiquement chargé et peut être directement référencé et utilisé.

Écrivez du code PHP pour envoyer un courrier HTML graphique

Voici un exemple complet de code montrant comment configurer le serveur SMTP, configurer le contenu du courrier et intégrer l'image:

 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    // Paramètres du serveur et authentification
    $mail->SMTPDebug = 0; 
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your-email@example.com';
    $mail->Password = 'your-email-password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    // Expéditeur et destinataire
    $mail->setFrom('your-email@example.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');

    // Contenu par e-mail
    $mail->isHTML(true);
    $mail->Subject = 'C'est une imageHTMLmail';
    $mail->Body = '
        <h1>Hello World!</h1>
        <p>C&#39;est une imageHTMLmail。<br>
        Exemple d&#39;image:<br>
        <img src="cid:image1" alt="Image" style="max-width:90%">
        </p>';

    // Incorporer des photos locales
    $mail->AddEmbeddedImage('/path/to/image.jpg', 'image1');

    // 发送mail
    $mail->send();
    echo 'mail发送成功!';
} catch (Exception $e) {
    echo 'mail发送失败:' . $mail->ErrorInfo;
}

Analyse de code

Le code ci-dessus démontre le processus d'envoi de courriels formés HTML:

  • La pièce de configuration SMTP définit l'adresse, le port, les informations d'authentification, etc. du serveur de messagerie.
  • Allumez la prise en charge du format HTML via isHTML(true) pour faire en sorte que le corps e-mail prenne en charge les balises HTML.
  • Utilisez AddEmbeddedImage pour intégrer l'image locale et la référence dans HTML en définissant cid .
  • Utilisez des balises <img src="cid:image1"> dans le corps de messagerie pour afficher des images intégrées.

Notes sur l'envoi de courriels graphiques et texte

Lorsque vous envoyez des e-mails graphiques et texte, veuillez faire attention aux points suivants:

  • Assurez-vous que le chemin d'image est correct et que le serveur a des autorisations de lecture.
  • Chaque image intégrée doit avoir un CID unique et être utilisée dans HTML.
  • Utilisez l'adresse du serveur SMTP réel et le mot de passe du compte pour les tests.

Résumer

En combinant PHP avec PHPMailer, les développeurs peuvent rapidement implémenter la fonction de l'envoi de courriels HTML contenant des images et des SMS. Cette méthode améliore non seulement les performances visuelles des e-mails, mais contribue également à améliorer le taux de lecture et le professionnalisme des e-mails. Suivez simplement les étapes pour configurer SMTP, écrire du contenu HTML et intégrer correctement les images pour réaliser l'envoi de courrier avec des images et des textes.