Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> quoted_printable_decode
php programmer
post
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
tsharek
post
Post #3





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


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. ?>


Ten post edytował tsharek 27.10.2007, 12:23:44
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 19:43