Отправить письмо с PHPMailer - встроить изображение в тело - PullRequest
89 голосов
/ 14 сентября 2010

Я пытаюсь отправить HTML-почту, с PHPMailer, с изображениями. Тело загружается из HTML-файла, который содержит всю информацию.

При отправке почты изображение не появляется в теле, хотя я даже отправляю изображение также как вложение.

HTML <img> тег указывает на то же место, что и место.

PHP:

$mail->AddAttachment('img/2u_cs_mini.jpg');

Как сделать так, чтобы html указывал на вложение, чтобы изображение могло быть загружено в тело.

Глядя на пример, который поставляется с PHPMailer, я не замечаю никакой разницы, и в их случае изображение действительно появляется.

Ответы [ 2 ]

190 голосов
/ 14 сентября 2010

Я нашел ответ:

$mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u');

и на тег <img> поставить src='cid:logo_2u'

0 голосов
/ 08 июля 2019

Согласно Руководству по PHPMailer полный ответ будет:

$mail->AddEmbeddedImage(filename, cid, name);
//Example
$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg '); 

Вариант использования:

$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"> Here is an image!';

Если вы хотите отобразить изображение с пульта дистанционного управленияURL:

$mail->addStringAttachment(file_get_contents("url"), "filename");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...