Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML]kodowanie znaczników HTML w mailu - PROBLEM
raval
post 15.03.2013, 23:45:38
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z wyświetlaniem treści maila w kliencie poczty webowej onet. Od razu dodam, że w klietach poczty tj. thunderbird, outlook, ... gmail itd. treść maila wyświetlana jest prawidłowo.
Natomiast w klienci poczty webowej ONET, cała treść jest rozsypana, tzn. gubi rozpoczynające oraz kończące znaczniki HTML, przykład poniżej (tag img):

  1. <div style="padding:10px;"><h2 style="text-align: center;">jakiś tekst</h2>
  2. <span><p style="text-align: center;">
  3. <span>img alt="" height="969" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAAISodpAAQAAAABAAAIUJydAAEAAAAKAAAQyOocAAcA
    AAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAA (... - nie wiadomo gdzie koniec )


Tutaj przykład tej samej treści w roundcube, przesłany kod jest prawidły:

  1. <div style="padding:10px;"><h2 style="text-align: center;">jakis tekst</h2>
  2. <Span><p style="text-align: center;">
  3. <span><img alt="" height="969" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAAISodpAAQAAAABAAAIUJydAAEAAAAKAAAQyOocAAcA
    AAgMAAAAPgAAAAAc6gAAAAgAAAAAAA(...)KYBRRRQB//Z"
    />
    (...)


Czy ktoś byłby mi w stanie przybliżyć, w czym jest problem i jak do niego podejść. Mail wysyłany jest starndardową funkcją php - mail().

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
timon27
post 16.03.2013, 10:54:04
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Też miałem taki problem.
Stwierdziłem że po co się męczyć, skoro jest PHPmailer?
Nie musisz się wtedy zastanawiać nad headerami, a twoje maile wychodza z konkretnej skrzynki, więc nie są uznawane za spam.
Go to the top of the page
+Quote Post
raval
post 16.03.2013, 13:23:36
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


No mozliwe, że to by rozwiązało problem. A poza PHPMailerem nie ta sie tego naprawić questionmark.gif

Wierze, że da wink.gif
Go to the top of the page
+Quote Post
timon27
post 16.03.2013, 17:12:23
Post #4





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Można, tylko po co?
Phpmailer to dosłownie 3 pliki.
Ja dorobiłem sobie trzeci w którym mam funkcję new_mail.
Czyli muszę tylko zaincludować 1 plik i zamiast mail używam new_mail, który działa o niebo lepiej (z kontem, obsługą załącznika, base64, kopią ukrytą, adresem zwrotnym itp.).
Jak chcesz mogę ci pliki wrzucić.

Ten post edytował timon27 16.03.2013, 17:42:23
Go to the top of the page
+Quote Post
raval
post 18.03.2013, 09:09:22
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Mimo to bardzo jestem ciekaw o rozwiązanie poprzez funckję mail();, przecież wiele deweloperów z niej korzysta i jakoś muszą sobie radzić wink.gif

Jakieś pomysły?
Go to the top of the page
+Quote Post
!*!
post 18.03.2013, 09:16:57
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Im starszych znaczników użyjesz, tym lepiej. Zrób to na tabelach.
Lub wywal wszytko przed tym co się psuje, tutaj będzie to span i sprawdź jak działa.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
raval
post 18.03.2013, 09:33:26
Post #7





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


No i o dziwo nie dało to żadnych efektów ;X Nie wiem, czy tekst dodatkowo zakodować w jakiś funkcjach.. ? w sumei kończa mi się jakiekolwiek pomysły

Poprzez funckję PHPMailer, problem się nie rozwiązuje ;/
Go to the top of the page
+Quote Post
!*!
post 18.03.2013, 09:37:29
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Pokaż całość. Może funkcje których używasz kolidują z kodem.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
raval
post 18.03.2013, 09:43:22
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Teskt jest pisany w CKE edytorze, który automatycznie koduje obrazki na base64 przy wklejeniu. I tutaj nic nadzwyczjanego się nie dzieje, w formularzu przesyłam POST'em i wysyłam mail().

Jak pisałem na początku, wszędzie działa poprawnie, ale onet ma z tym jakis problem. Jedynie co się dzieje w kodzie to:

  1. $tresc = str_replace('||','"',str_replace('\"',"",$tresc));
  2.  
  3. $zm1 = array('%2F', '%3C', '%3D', '%3E', '%20', '%0A', '%0D', '%0D%0A', '%22', '%3B', '%3A', '%2E');
  4. $zm2 = array('/', '<', '=', '>', ' ', "\n", "\r", "\r\n", '"', ';', ':', '.');
  5.  
  6. $tresc = str_replace($zm1, $zm2, $tresc);
  7.  
  8.  
  9. $headers .= 'Content-type: text/html; charset=iso-8859-2;' . "\n";
  10. $headers .= 'From: ABC <noreply@abc.pl>' . "\n";
  11.  
  12. mail("$email", bezpolskich("$temat"), "$tresc", $headers,'-fnoreplay@abc.pl');


Go to the top of the page
+Quote Post
!*!
post 18.03.2013, 09:47:44
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Wywal te " z funkcji mail jak masz zmienne, są zbędne. Komentuj po kolei te wszystkie zmienne wyżej. Wyślij też sam kod i sam zamień obraz na base i sprawdź czy działa.

Ten post edytował !*! 18.03.2013, 09:48:08


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
raval
post 18.03.2013, 09:58:49
Post #11





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Jak wysyłam kod HTML wpisany na sztywno, gdzie sam obrazek koduje basem64, działa ok... także coś z d.. musi być kodowanie w zmiennej przechowującej treść z CKE edytora, tylko jak to poprawić..
Go to the top of the page
+Quote Post
!*!
post 18.03.2013, 10:08:06
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Poszukaj o tym na ich forum, lub wyłącz to całkowicie i zamieniaj kod sam.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
raval
post 19.03.2013, 08:23:30
Post #13





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 1.04.2011

Ostrzeżenie: (0%)
-----


Tak... problem tkwi w kodowaniu obrazków poprzez CKE edytor :X tylko czemu questionmark.gif co on takiego źle robi, że tu widać, a tam nie questionmark.gif

Nikt nie miał nigdy podobnego przypadku, żeby był mi w stanie pomóc questionmark.gif ;X Jestem w kropce i nie wiem jak to ustrojstwo naprawić. Trzeci dzień już nad tym siedze i nic, nie powinno w ogóle to tyle trwać...

Byłbym bardzo wdzięczny.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 16:42