Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie wiadomości przez IMAP- problem z imap_7bit()
Forum PHP.pl > Forum > Przedszkole
Rysiu512
Witam wszystkich serdecznie.

Wyciągam dane z emaili za pomocą IMAP.

Z nadawcą, tematem i innymi mniejszymi danymi nie ma problemu.

Problemy zaczynają się przy samej treści wiadomości.

Mam coś takiego:

  1. $tresc_wiadomosci = imap_fetchbody($mbox, $i, "1");
  2.  
  3. $structure = imap_fetchstructure($mbox, $i);
  4.  
  5. $kodowanie = $structure->encoding;
  6.  
  7.  
  8. if ($kodowanie == 0)
  9. {
  10. $tresc_wiadomosci = imap_7bit($tresc_wiadomosci);
  11. }
  12. else if ($kodowanie == 1)
  13. {
  14. $tresc_wiadomosci = imap_8bit($tresc_wiadomosci);
  15. }
  16. else if($kodowanie == 2)
  17. {
  18. $tresc_wiadomosci = imap_binary($tresc_wiadomosci);
  19. }
  20. else if($structure->parts[0]->encoding == 3 || $kodowanie == 3)
  21. {
  22. $tresc_wiadomosci = imap_base64($tresc_wiadomosci);
  23. }
  24. else if($kodowanie == 4)
  25. {
  26. $tresc_wiadomosci = imap_qprint($tresc_wiadomosci);
  27. }
  28.  
  29. $tresc_wiadomosci = mb_convert_encoding($tresc_wiadomosci, 'UTF-8', 'ISO-8859-2');
  30.  
  31. echo $tresc_wiadomosci;
  32.  


Całość działa gdy kodowanie wynosi 3 lub 4. Nie ma wtedy żadnych problemów ze znakami polskimi itp.

Problem jednak pojawia się w momencie gdy kodowanie jest równe 0. Wtedy według manuala powinienem wykorzystać funkcję imap_7bit() ale tej funkcji nie ma w mojej wersji PHP. Gdy imap_7bit() chcę zastąpić czymś innym to sypią się ostre błędy.

Dalej w mb_convert_encoding(); rodzaje kodowania są jeszcze wpisane na sztywno ale nie to jest problemem, bo wszystkie maile przychodzące są w ISO-8859-2.

Ktoś może wie jak rozwiązać ten problem z imap_7bit()?
!*!
A co to jest imap_7bit? W PHP nie widzę czegoś takiego i czy "przerzucenie" tego na 8 nie pomoże? W różnych przykładach na necie jest imap_qprint / quoted_printable_decode choć nie wiem czy Cie to zadowoli. Ogólnie sposób użycia tego wydaje mi się nieco dziwny,
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.