Как я могу прикрепить изображение с помощью Phpmailer?
Я использую phphmailer и прикрепляю изображение, оно показывает только изображение, как значок, а не изображение, вот мой код
вы могли бы помочь.
$mail->AddEmbeddedImage('2.jpg', '2img', '2.jpg');
$mail->Subject = "Order Form: Contact form submitted";
$mail->Body = $body . 'img src="../../photo/2img" ;
note: я потерял html-тег befor img, поскольку получаю сообщение об ошибке, отправляющее этот Q.
Ответы
Ответ 1
Per Руководство PHPMailer, вы можете использовать метод AddEmbeddedImage
$mail->AddEmbeddedImage(filename, cid, name);
By using this function with this example value above, results in this code:
$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!';
поэтому cid:my-attach
будет заменен встроенным источником изображения, которое внутри тела электронной почты
Ответ 2
Использование функции AddEmbeddedImage() хорошо работает при показе встроенного изображения в электронных письмах в Интернете. Однако Yahoo всегда добавляет его как приложение. Чтобы преодолеть эту проблему, вы можете смело игнорировать AddEmbeddedImage() и ссылку на полный путь изображения на вашем сервере, а PHPMailer имеет возможность конвертировать его в CID, и он будет корректно отображаться как встроенное изображение, и Yahoo не добавит его как приложение больше.
В тексте сообщения html добавьте его, как обычно:
<img src="http://PATH-TO-IMAGE" alt='THIS IS THE IMAGE" />