Maison  >  Article  >  développement back-end  >  Comment envoyer un mail HTML avec des images en utilisant PHP et PHPMAILER ?

Comment envoyer un mail HTML avec des images en utilisant PHP et PHPMAILER ?

WBOY
WBOYoriginal
2023-07-21 09:21:291709parcourir

Comment envoyer des emails HTML avec des images en utilisant PHP et PHPMailer ?

L'e-mail joue un rôle important dans la communication moderne, mais l'envoi d'e-mails HTML avec des images peut dérouter certains développeurs PHP. Dans cet article, nous présenterons comment utiliser PHP et PHPMailer pour envoyer des e-mails HTML avec des images. Nous fournirons des exemples de code pour vous aider à mieux comprendre comment y parvenir.

Tout d'abord, nous devons nous assurer que la bibliothèque PHPMailer est installée dans notre projet. Vous pouvez l'installer en ajoutant le code suivant à votre fichier composer.json :

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

Une fois la bibliothèque PHPMailer installée, nous pouvons commencer à écrire le code pour envoyer des emails HTML avec des images.

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;

require 'vendor/autoload.php';

// 实例化PHPMailer对象
$mail = new PHPMailer(true);

try {
    // 服务器设置与身份验证
    $mail->SMTPDebug = 0;                                 // 0 = 关闭调试输出
    $mail->isSMTP();                                      // 通过SMTP发送
    $mail->Host = 'smtp.example.com';                     // 设置SMTP服务器
    $mail->SMTPAuth = true;                               // 启用SMTP身份验证
    $mail->Username = 'your-email@example.com';           // 您的邮箱用户名
    $mail->Password = 'your-email-password';              // 您的邮箱密码
    $mail->SMTPSecure = 'tls';                            // 启用TLS加密,可选
    $mail->Port = 587;                                    // 设置SMTP端口号

    // 发件人与收件人设置
    $mail->setFrom('your-email@example.com', 'Your Name');        // 发件人邮箱和姓名
    $mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱和姓名

    // 邮件内容设置
    $mail->isHTML(true);                                   // 将邮件格式设置为HTML
    $mail->Subject = '这是一封带有图片的HTML邮件';             // 邮件主题

    // 邮件正文
    $mail->Body = '<h1>Hello World!</h1>
                   <p>这是一封带有图片的HTML邮件。<br>
                   图片示例:<br>
                   <img src="cid:image1" alt="Image" width="200px"></p>';

    // 附件-图片
    $mail->AddEmbeddedImage('/path/to/image.jpg', 'image1');   // 替换"image1"为您要嵌入的图片cid

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

L'exemple de code ci-dessus montre comment envoyer un e-mail HTML avec une image à l'aide de la bibliothèque PHPMailer. Nous instancions d'abord l'objet PHPMailer et définissons le serveur SMTP et les informations d'authentification dans l'objet. Ensuite, nous définissons les informations sur l'expéditeur et le destinataire.

Lors de la définition du contenu de l'e-mail, nous définissons la méthode isHTML sur true pour spécifier le format de l'e-mail au format HTML. Nous définissons également le sujet et le corps de l'e-mail. Dans le corps, nous utilisons le balisage HTML pour créer une page HTML simple contenant une image intégrée. L'attribut src de la balise a1f02c36ba31691bcfe87b2722de723b est défini sur cid:image1, afin que l'image soit également intégrée dans l'e-mail. isHTML方法设置为true,以指定邮件格式为HTML。我们还设置了邮件主题和正文。在正文中,我们使用HTML标记来创建一个简单的HTML页面,其中包含一张嵌入的图片。a1f02c36ba31691bcfe87b2722de723b标签的src属性被设置为cid:image1,这样将图片同时嵌入到邮件中。

最后,我们使用AddEmbeddedImage方法将图片附加到邮件中,并为图片提供一个唯一的cid。请确保替换示例代码中的路径和图片cid为您自己的信息。

一旦所有设置完成,我们调用send

Enfin, nous utilisons la méthode AddEmbeddedImage pour joindre l'image à l'e-mail et lui donner un cid unique. Assurez-vous de remplacer le chemin et l'identifiant de l'image dans l'exemple de code par vos propres informations.

Une fois tous les réglages terminés, nous appelons la méthode send pour envoyer l'e-mail. Une fois l'envoi réussi, « E-mail envoyé avec succès ! » sera affiché ; si l'envoi échoue, des informations d'erreur spécifiques seront affichées. 🎜🎜J'espère que cet article pourra vous aider à envoyer des e-mails HTML avec des images à l'aide de PHP et PHPMailer. De cette façon, vous pouvez envoyer un contenu email plus riche et plus varié à vos destinataires. 🎜

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