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.

Odpowiedzi:


206

Znalazłem odpowiedź:

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

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


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");
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.