Das Versenden von HTML-E-Mails mit eingebetteten Bildern kann eine Herausforderung sein. Viele Lösungen sind auf externe Ressourcen angewiesen, was dazu führen kann, dass Bilder aufgrund von Spam-Filtern oder E-Mail-Client-Einschränkungen nicht geladen werden.
Um diese Probleme zu lösen, sollten Sie die Verwendung einer zuverlässigen Bibliothek wie PHPMailer in Betracht ziehen. Sehen wir uns an, wie Sie PHPMailer zum Einbetten von Bildern verwenden:
Die Dokumentation von PHPMailer bietet hervorragende Anleitungen zum Anzeigen eingebetteter (Inline-)Bilder. Es wird empfohlen, die AddEmbeddedImage-Funktion zu verwenden:
<code class="php">$mail->AddEmbeddedImage(filename, cid, name);</code>
wobei:
Zum Beispiel:
<code class="php">$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');</code>
Um das eingebettete Bild in die HTML-E-Mail einzubinden, Fügen Sie ein img-Tag ein, wobei das src-Attribut auf den cid-Wert gesetzt ist:
<code class="html"><img src="cid:my-photo" alt="my-photo" /></code>
Hier ist ein vollständiges Codebeispiel:
<code class="php">require_once('../class.phpmailer.php'); $mail = new PHPMailer(true); $mail->IsSMTP(); try { $mail->Host = "mail.yourdomain.com"; $mail->Port = 25; $mail->SetFrom('from@example.com', 'From Name'); $mail->AddAddress('to@example.com', 'To Name'); $mail->Subject = 'PHPMailer Test'; $mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png"); $mail->Body = 'Your <b>HTML</b> with an embedded Image: <img src="cid:my-attach"> Here is an image!'; $mail->Send(); } catch (phpmailerException $e) { echo $e->errorMessage(); } catch (Exception $e) { echo $e->getMessage(); }</code>
Dieser Code erstellt die HTML-E-Mail mit dem eingebetteten Bild und sendet sie es über SMTP. Sie können dieses Beispiel anpassen, um E-Mails auf andere Weise zu senden, oder andere von PHPMailer bereitgestellte Methoden verwenden, z. B. CreateBody, um den Nachrichteninhalt abzurufen und manuell zu senden.
Das obige ist der detaillierte Inhalt vonWie bette ich Bilder mit PHPMailer in HTML-E-Mails ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!