Autor | Zpráva | ||
---|---|---|---|
neználek_2016 Profil |
#1 · Zasláno: 6. 6. 2016, 09:55:53
Zdravím,
obracím se na vás s prosbou o pomoc. Snažim se udělat jednoduchej scriptík na čtení pošty z gmailu a nějak jsem se v tom zamotal. Vše funguje jak má, ale nevim jak dekódovat odesílatele zprávy. Zobrazuje se směs znaků a malých+velkých písmen. Zkoušel jsem různé postupy co jsem našel na internetu, ale bez úspěchu :-(. Zde je testovací script: <!doctype html> <meta charset="windows-1250"> <?php set_time_limit(120); include 'cnf.php'; $header = imap_headers($conn); $start_time = time(); echo "<b>Uživatel: </b>" . $username ."<br><br>\n"; $mbox = imap_open($server,$username,$password); $n_msg = imap_num_msg($mbox); echo "<b>Počet zpráv ve schránce: </b>".$n_msg."<br><br>\n"; for ($i=1; $i<=$n_msg; $i++) { $header = imap_headerinfo($mbox,$i); } $subject = imap_mime_header_decode($header->subject); $subject = $subject[0]->text; $var = "0"; if ($header == 0) { echo "Žádné příchozí zprávy.<br />\n"; }else{ while (list ($k, $val) = each ($header)) { $var = $var+1; $f_over = imap_fetch_overview($conn, $var, 0); while(list($k, $v) = each($f_over)) { echo "<b>Zpráva od: </b>".$v->from."<br>"; echo "<b>Předmět: </b>".$subject."<br>"; echo "<b>Datum: </b>".date("j. n. Y - H:i", strtotime($v->date))."<br>"; echo "<a href=\"show.php?id=".$var."\">Přečíst</a> :: <a href=\"delete.php?id=".$var."\">Odstranit</a><br /><br>"; } } } imap_close($conn); ?> </body> </html> Předem díky!!! |
||
Jan Tvrdík Profil |
neználek_2016:
Na takovéto věci je lepší použít funkční knihovnu, ale budiž. Zkus poslat konkrétně tu směs znaků, kterou vidíš, ať můžeme poradit konkrétněji. Zkusil bych to prohnat přes imap_mime_header_decode nebo iconv_mime_decode nebo base64_decode. |
||
neználek_2016 Profil |
#3 · Zasláno: 6. 6. 2016, 14:04:04
zobrazuje se např. toto: =?ISO-8859-2?Q?Karel_Dvo=F8=E1=E8ek?= . Dělá to jen u odesílatele jinak vše OK :-(
|
||
Jan Tvrdík Profil |
$s = '=?ISO-8859-2?Q?Karel_Dvo=F8=E1=E8ek?='; echo iconv_mime_decode($s); |
||
neználek_2016 Profil |
#5 · Zasláno: 6. 6. 2016, 16:13:19
Jan Tvrdík:
paráda už jsem se chytil - funguje to. DÍKY !!! :-) |
||
Časová prodleva: 7 dní
|
|||
neználek_2016 Profil |
#6 · Zasláno: 13. 6. 2016, 13:30:22
Omlouvám se, ale jsem tady zase zpátky :-(. Našel jsem script na přeposílání zpráv, ale když se načte přijatá zpráva do textarea tak to hází zase to samé písmenkové smetí. Toto je kód funkce, která zajišťuje načtení do textarea:
function forward($id) { $imap = open(); $header = imap_header($imap, $id); $subject = imap_mime_header_decode($header->Subject); $subject = $subject[0]->text; $message['body'] = "\n\n>".quoted_printable_decode(imap_fetchbody($imap,$id,1)); $message['subject'] = "Fwd: ".$subject; return $message; } Vím, že otravuju ale budu rád za každé nakopnutí :-). |
||
neználek_2016 Profil |
#7 · Zasláno: 15. 6. 2016, 08:16:24
Vyřešeno
|
||
Jan Tvrdík Profil |
#8 · Zasláno: 15. 6. 2016, 08:19:19
neználek_2016:
Ono se ti to za chvíli pravděpodobně zase rozbije. Pracovat s maily bez nějakého knihovny je docela dřina. |
||
Časová prodleva: 9 let
|
0