Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: quoted_printable_decode
Forum PHP.pl > Forum > PHP
php programmer
Witam

Ponieważ Amavis pokazuje taki błąd,

Cytat
X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char B3 hex): Subject: Zg\263oszenie zosta\263o...


to przy wysyłaniu maila używam funkcji

quoted_printable_decode" title="Zobacz w manualu PHP" target="_manual

mimo to, ten błąd znowu mi się pojawia,
może ktoś wie dlaczego tak jest i jak temu zaradzić?
batman
Pamiętam, że miałem kiedyś podobny problem, jednak nie pamiętam w jaki sposób to rozwiązałem. Przychodzi mi do głowy kilka rozwiązań, ale które było poprawne, to już Ci nie powiem.

Najpierw sprawdź funkcję mb_encode_mimeheader(). Jeśli to nie pomoże, to ustaw nagłówek w mailu: Content-Transfer-Encoding: 7bit. A jeśli to nie zadziała, to spróbuj przekonwertować każdy string, który znajduje się w mailu (tytuł, treść, itp.) przy pomocy mb_convert_encoding(). Jeśli nic nie zadziała, to znaczy, że o czymś zapomniałem winksmiley.jpg
tsharek
Z tego co się orientuję, to kodowanie nagłówków w mailu jest specyficzne. np:
Kod
=?ISO-8859-2?Q?zg=B3oszenie_zosta=B3o_wys=B3ane?=

Ja do tego używam swojej funkcji (oczywiście to tylko kawałek, przykład dla iso):
  1. <?php
  2. $string='zgłoszenie zostało wysłane';
  3. $chr_in_iso=array(
  4. "/xb1/", "/xa1/",
  5. "/xbf/", "/xaf/",
  6. "/xe6/", "/xc6/",
  7. "/xea/", "/xca/",
  8. "/xb3/", "/xa3/",
  9. "/xf3/", "/xD3/",
  10. "/xb6/", "/xa6/",
  11. "/xbc/", "/xac/",
  12. "/xf1/", "/xD1/",
  13. );
  14. echo '?ISO-8859-2?Q?'.preg_replace_callback($chr_in_iso, 'convert_callback', strtr($string, array(' '=>'_'))).'?=';
  15.  
  16. function convert_callback($match)
  17. {
  18. $ret='';
  19. for($i=0;$i<strlen($match[0]);$i++) $ret.='='.dechex(ord($match[0]{$i}));
  20. return $ret;
  21. }
  22. ?>
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.