![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.11.2003 Ostrzeżenie: (10%)
|
Witam,
używam "PHP mailer'a" do tworzenia i wysyłania e-maili z witryny. Do każdego e-maila dodaje obrazki, które nie są dołączone jako załącznik tylko wbudowane w treść wiadomości (tzw. Embed Images). Wiadomość dociera do odbiorcy, obrazki są widoczne, ale gdy chcę przekazać wiadomość dalej obrazki stają się niewidoczne. Problem występuje na Thunderbirdzie, a na starym Outlook Express jest wszystko w porządku (innych nie testowałem). To nie jest jednak wina Thunderbirda, bo mam kilka wiadomości wygenerowanych z innych stron też ze wstawionymi obrazkami, które mogę przesyłać dalej za pomocą Thunderbirda i obrazki nie znikają. Jesto to więc kwestia wysłania wiadomości z poziomu PHP. Proszę o jakieś rady/sugestie. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
No to pokaż jak dołączasz te obrazki
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
no właśnie, pokaż jak dołączasz to obrazki
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.11.2003 Ostrzeżenie: (10%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
tak (IMG:style_emoticons/default/dry.gif)
a więc tak: 1. jako CID zaleca się używać liczb, dlatego tak będzie po prostu pewniej, że nie będzie z tym problemów 2. żeby obrazek był poprawnie dołączony trzeba jeszcze go odpowiednio zakodować (base64) i podać jego typ (image/gif w moim przypadku) i śmiga jak należy Mam nadzieję, że pomogłem, sorry, że tak późno, ale nie miałem wcześniej czasu |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.11.2003 Ostrzeżenie: (10%)
|
piotr94, dzięki! Pomogłeś mi w znalezieniu przyczyny.
Nie był tu problemem literowy CID (może zawierać litery, u mnie zmiana nazw obrazków byłaby problematyczna), a kodowanie "base64" włącza się domyślnie. Problemem był "Content-Type". Domyślnie klasa PHPmailer, w funkcji AddEmbeddedImage ma typ "application/octet-stream". Na swoje potrzeby zmodyfikowałem jedną linię kodu z clasy PHPmailer z:
na:
Obrazki załączam nadal w ten sam sposób:
Oczywiście można ustawiać typ obrazka bezpośrednio podczas jego inkludowania, jednak ja na swoje potrzeby wyedytowałem klasę, aby zaoszczędzić na kodzie. Teraz przekazywanie wiadomości z obrazkami działa. Jeszcze raz dzięki piotr94, naprowadziłeś mnie na źródło problemu. |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 22:32 |