Heim >Backend-Entwicklung >PHP-Tutorial >Wie versende ich HTML-Mails mit eingebetteten Bildern mit PHP und PHPMAILER?

Wie versende ich HTML-Mails mit eingebetteten Bildern mit PHP und PHPMAILER?

王林
王林Original
2023-07-22 11:29:061274Durchsuche

Wie versende ich HTML-E-Mails mit eingebetteten Bildern mit PHP und PHPMAILER?

HTML-E-Mail ist ein umfangreicheres und personalisierteres E-Mail-Formular, mit dem Bilder, Links und Stile in die E-Mail eingefügt werden können. Eingebettete Bilder beziehen sich auf das Senden von Bildern direkt als Teil der E-Mail in der HTML-E-Mail, anstatt sie als Anhänge zu senden.

In PHP können wir PHPMAILER verwenden, um HTML-E-Mails mit eingebetteten Bildern zu versenden. PHPMAILER ist eine leistungsstarke PHP-Bibliothek zum E-Mail-Versand, mit der problemlos verschiedene Arten von E-Mails versendet werden können.

Das Folgende ist ein Beispielcode, der PHPMAILER verwendet, um HTML-E-Mails mit eingebetteten Bildern zu senden:

<?php
require 'PHPMailer/PHPMailerAutoload.php';
 
// 创建一个新的PHPMailer对象
$mail = new PHPMailer;
 
// 配置邮件服务器信息
$mail->isSMTP();                                      // 设置邮件使用SMTP
$mail->Host = 'smtp.example.com';                     // 邮件服务器地址
$mail->SMTPAuth = true;                               // 启用SMTP身份验证
$mail->Username = 'your-email@example.com';            // SMTP用户名
$mail->Password = 'password';                         // SMTP密码
$mail->SMTPSecure = 'tls';                            // 启用TLS加密
$mail->Port = 587;                                    // 邮件服务器端口号
 
// 配置发件人信息
$mail->setFrom('your-email@example.com', 'Your Name');  // 发件人邮箱和名称
 
// 配置收件人信息
$mail->addAddress('recipient@example.com', 'Recipient Name');  // 收件人邮箱和名称
 
// 配置邮件内容
$mail->Subject = 'My HTML Email';                       // 邮件主题
$mail->isHTML(true);                                    // 设置邮件内容为HTML格式
 
// 邮件内容中的HTML代码,包含一个内嵌图片
$mail->Body = '
    <h1>Hello, World!</h1>
    <p>This is an HTML email with embedded image.</p>
    <p><img src="cid:logo" alt="Logo"></p>
';
 
// 为内嵌图片添加附件
$mail->AddEmbeddedImage('path/to/image.jpg', 'logo');   // 图片路径和名称
 
// 发送邮件
if($mail->send()) {
    echo '邮件发送成功';
} else {
    echo '邮件发送失败:' . $mail->ErrorInfo;
}

Im obigen Beispielcode haben wir zuerst die PHPMAILER-Klassenbibliothek über require eingeführt und einen neuen PHPMailer erstellt Objekt. Anschließend legen wir die Mailserverinformationen, Absenderinformationen, Empfängerinformationen und den E-Mail-Inhalt fest, indem wir die Eigenschaften des $mail-Objekts konfigurieren. require引入了PHPMAILER类库并创建了一个新的PHPMailer对象。然后,我们通过配置$mail对象的属性来设置邮件服务器信息、发件人信息、收件人信息和邮件内容。

在邮件内容中的HTML代码中,我们通过a1f02c36ba31691bcfe87b2722de723b标签的src属性来引用内嵌图片,并通过cid:logo来标识该图片。然后,我们使用$mail->AddEmbeddedImage()方法将真实的图片文件添加为内嵌图片附件,其中第一个参数是图片路径和名称,第二个参数是cid标识符,需要和邮件内容中的对应上。

最后,我们使用$mail->send()方法发送邮件,并根据发送结果输出相应的消息。

总结:
使用PHP和PHPMAILER发送带有内嵌图片的HTML邮件相对简单,我们只需要通过AddEmbeddedImage()方法添加内嵌图片附件,并在邮件内容中使用对应的cid

Im HTML-Code im E-Mail-Inhalt verweisen wir über das Attribut src des Tags a1f02c36ba31691bcfe87b2722de723b auf das eingebettete Bild und übergeben das cid: logo um das Bild zu identifizieren. Dann verwenden wir die Methode $mail->AddEmbeddedImage(), um die echte Bilddatei als eingebetteten Bildanhang hinzuzufügen, wobei der erste Parameter der Bildpfad und -name ist und der zweite Parameter cid muss mit der im E-Mail-Inhalt übereinstimmen. 🎜🎜Abschließend verwenden wir die Methode $mail->send(), um die E-Mail zu senden und die entsprechende Nachricht basierend auf dem Sendeergebnis auszugeben. 🎜🎜Zusammenfassung:
Das Versenden von HTML-E-Mails mit eingebetteten Bildern mit PHP und PHPMAILER ist relativ einfach. Wir müssen lediglich eingebettete Bildanhänge über die Methode AddEmbeddedImage() hinzufügen und im E-Mail-Inhalt verwenden. Die entsprechende cid-Kennung ist ausreichend. Durch die Verwendung von PHPMAILER können wir auf einfache Weise umfangreichere und personalisiertere HTML-E-Mails erstellen und so die Attraktivität und Effektivität von E-Mails verbessern. 🎜

Das obige ist der detaillierte Inhalt vonWie versende ich HTML-Mails mit eingebetteten Bildern mit PHP und PHPMAILER?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn