Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]IMAP i GMAIL - problem z polskimi znakami.
wuj_stach
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.09.2009

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


Witam,

Mam funkcję, która wyświetla listę wiadomoścci w skrzynce pocztowej, jest jednak mały problem pobiera wiadomości z Gmail ale niestety bez polskich znaków, podpowie mi ktoś jak przerobić tą funkcję żeby pobierała wiadomości z polskimi znakami. Pytałem w dziale "Przedszkole" ale niestety tam nikt nie jest w stanie mi pomóc. Może w tym dziale ktoś mi pomoże, Z góry wielkie dzięki.

To ta funkcja:

  1. function display_list($auth_user, $accountid)
  2. {
  3.  
  4. global $table_width;
  5.  
  6. if(!$accountid)
  7. {
  8. echo 'Nie Wybrano Żadnego Konta <br /><br /><br /><br /><br /><br />.';
  9. }
  10. else
  11. {
  12.  
  13. $imap = open_mailbox($auth_user, $accountid);
  14.  
  15. if($imap)
  16. {
  17. echo "<table width = $table_width cellspacing = 0
  18. cellpadding = 6 border = 0 align = center>";
  19.  
  20. $headers = imap_headers($imap);
  21.  
  22. $messages = sizeof($headers);
  23. for($i = 0; $i<$messages; $i++)
  24. {
  25. echo '<tr><td bgcolor = "';
  26. if($i%2)
  27. echo '#ffffff';
  28. else
  29. echo '#ffffcc';
  30. echo '"><a href ="index.php?action=view-message&messageid='.($i+1).'">';
  31. echo $headers[$i];
  32. echo "</a></td></tr>\n";
  33. }
  34. echo '</table>';
  35. }
  36. else
  37. {
  38. $account = get_account_settings($auth_user, $accountid);
  39. echo 'Otwarcie Skrzynki '.$account['Niemożliwe'].'.<br /><br /><br /><br />';
  40. }
  41. }
  42. }


A tak wyglądają wiadomości:

U 1)14-Nov-2009 =?ISO-8859-2?Q?Zesp= =?ISO-8859-2?Q?Dost=EAp_d (1808 chars)
U 2)14-Nov-2009 =?ISO-8859-2?Q?Zesp= =?ISO-8859-2?Q?Zaimportuj (2598 chars)
U 3)14-Nov-2009 =?ISO-8859-2?Q?Zesp= =?ISO-8859-2?Q?Dostosuj_G (2222 chars)


Z góry wielkie dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wuj_stach
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.09.2009

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


Hey,

Mam prośbę, podpowiesz mi jak przerobić tą moją funkcję żeby korzystała z funkcji imap_mime_header_decode. Twoją udało mi się przerobić i fajnie to działa, niestety nie bardzo wiem jak się zabrać za moją funkcję.

  1. <?php
  2. /* connect to gmail */
  3. $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
  4. $username = 'login@gmail.com';
  5. $password = 'haslo';
  6.  
  7. /* try to connect */
  8. $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
  9.  
  10. /* grab emails */
  11. $emails = imap_search($inbox,'ALL');
  12.  
  13. /* if emails are returned, cycle through each... */
  14. if($emails) {
  15.  
  16. /* begin output var */
  17. $output = '';
  18.  
  19. /* put the newest emails on top */
  20. rsort($emails);
  21.  
  22. /* for every email... */
  23. foreach($emails as $email_number) {
  24.  
  25. /* get information specific to this email */
  26. $overview = imap_fetch_overview($inbox,$email_number,0);
  27.  
  28.  
  29. /* output the email header information */
  30. //$output.= "Toggler: ".($overview[0]->seen ? 'read' : 'unread')."\n";
  31. $output.= "Subject: ".($overview[0]->subject)."\n";
  32. $output.= "From:".$overview[0]->from."\n";
  33. $output.= "Date: ".$overview[0]->date."\n";
  34. $output.= "\n\n\n ";
  35. }
  36.  
  37. //echo $output;
  38.  
  39. $elements = imap_mime_header_decode($output);
  40. for ($i=0; $i<count($elements); $i++) {
  41. echo "Charset: {$elements[$i]->charset}\n";
  42. echo " {$elements[$i]->text}\n\n";
  43. }
  44.  
  45.  
  46. }
  47.  
  48. /* close the connection */
  49. imap_close($inbox);
  50. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 15:47