Wyślij e-mail za pomocą PHPMailera - umieść obraz w treści

97

Próbuję wysłać pocztę HTML za pomocą PHPMailera z obrazami. Treść jest ładowana z pliku html, który zawiera wszystkie informacje.

Podczas wysyłania maila obraz nie pojawia się w treści, chociaż wysyłam nawet obraz również jako załącznik.

<img>Znacznik HTML wskazuje to samo miejsce co to miejsce.

PHP:

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

Jak ustawić kod HTML na załącznik, aby obraz mógł zostać załadowany do treści.

Patrząc na przykład dołączony do PHPMailera nie widzę żadnej różnicy, aw ich przypadku obraz się pojawia.

elvispt
źródło

Odpowiedzi:

206

Znalazłem odpowiedź:

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

i na <img>metce umieścićsrc='cid:logo_2u'

elvispt
źródło
3
To doskonale pomaga !!! Z ciekawości, gdzie to znalazłeś? Proszę wytłumacz.
mtk
Dlaczego lewy ukośnik na końcu pliku CID?
Plummer
Zrobiłem to tak dawno temu, nie pamiętam, czy był jakiś powód. Myślę, że nie ma. Najprawdopodobniej tylko śmieci.
elvispt
8
Uważam, że lewy ukośnik został omyłkowo pozostawiony w poprzednim kodzie, który uniknął cudzysłowów, na przykład echo "src=\"cid:logo_2u\""i nie wierzę, że lewy ukośnik jest konieczny.
Okrutny
9
Kto potrzebuje wyjaśnień od osoby niebędącej ekspertem: musisz poinformować silnik renderujący, skąd ma pobrać obraz i za pomocą jakiego protokołu (aby użyć załączonego obrazu, użyj protokołu de cid, Content-ID). I używasz AddEmbeddedImage, aby nadać identyfikator załącznikowi, abyś mógł się do niego odwołać (
pamiętaj
3

Zgodnie z podręcznikiem PHPMailer , pełna odpowiedź brzmi:

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

Przypadek użycia :

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

Jeśli chcesz wyświetlić obraz ze zdalnym adresem URL:

$mail->addStringAttachment(file_get_contents("url"), "filename");
Marie-Eva BB Volmar
źródło