13. september 2006 - 23:27
Der er
11 kommentarer og 1 løsning
Udtræk det væsentlige af email hentet med IMAP
Hej. Jeg sidder og leger med en webbaseret pop3 client til læsning af e-mail. Jeg bruger indtil videre følgende script, men der er stadig en lille smule i toppen og bunden af mailen, den ikke fjerner. $body = imap_body($mailbox, $index); //------------------------- //types $type = array("text", "multipart", "message", "application", "audio", "image", "video", "other"); // message encodings $encoding = array("7bit", "8bit", "binary", "base64", "quoted-printable", "other"); $struc = imap_fetchstructure ($mailbox, $index); $tencoding = $encoding[$struc->parts[1]->encoding]; $dataHtml = imap_fetchbody($mailbox, $index, 2); if ($tencoding == "base64") $body = base64_decode($body); else if ($tencoding == "quoted-printable") $body = quoted_printable_decode($body); else if ($tencoding == "binary") $body = utf8_decode($body); else $body = $dataHtml; Ex: --=_fc3471f92ef4a71bfded15c2af26063f Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Mail... --=_fc3471f92ef4a71bfded15c2af26063f-- Hvordan kan jeg fjerne det sidste, så mailen bliver lidt mere læsbar?
Annonceindlæg fra SuperOffice
14. september 2006 - 08:15
#1
Jeg vil gætte på at det kan gøres med dette: if ($tencoding == "base64") $body = base64_decode($body); else if ($tencoding == "quoted-printable") { $body = quoted_printable_decode($body); $body = preg_replace("#(.*?) Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable\s*(.*)\s*\\1--#is", "\\2", $body); } else if ($tencoding == "binary") $body = utf8_decode($body); else $body = $dataHtml;
14. september 2006 - 08:32
#2
Ja, det ligner da en mulighed. Desværre medlder den fejl. kunne forestille mig det er " der giver problemer.
14. september 2006 - 11:50
#3
Klart. Det skal escapes: $body = preg_replace("#(.*?) Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: quoted-printable\s*(.*)\s*\\1--#is", "\\2", $body);
14. september 2006 - 12:03
#4
Det prøvede jeg også, med får fejlen: Parse error: parse error, unexpected T_ELSE in /var/www/web11/html/inbox.php on line 40 altså netop denne linje.
14. september 2006 - 12:32
#5
Sikker på at du ikke bare har glemt en tuborgparentes et eller andet sted?
14. september 2006 - 12:51
#6
Det er jeg rimelig sikker på. Det virker så snart jeg udkommenterer linjen.
14. september 2006 - 12:56
#7
Post lige din kode :^)
14. september 2006 - 12:56
#8
Ja okay. Min fejl. Det var en tuborg.
14. september 2006 - 13:44
#9
Fungere det som løsning?
14. september 2006 - 13:53
#10
Desværre ikke. Den fjerner ikke hverkern starten eller slutningen. HAr ikke lige så meget tid nu, men vil kigge nærmere på det i aften, og sammenligne med andre systemers løsninger.
14. september 2006 - 15:29
#12
Ok :^)
Vi tilbyder markedets bedste kurser inden for webudvikling