作者 邓超

1

@@ -227,7 +227,8 @@ class Body { @@ -227,7 +227,8 @@ class Body {
227 // 先匹配留存文件名称 227 // 先匹配留存文件名称
228 preg_match('/filename="(\w?.*)"/',$item,$filename); 228 preg_match('/filename="(\w?.*)"/',$item,$filename);
229 if(!empty($filename[1])){ 229 if(!empty($filename[1])){
230 - $filename = MailFun::decodeMimeStr($filename[1]); 230 +// $filename = MailFun::decodeMimeStr($filename[1]);
  231 + $filename = mb_decode_mimeheader($filename[1]);
231 } 232 }
232 233
233 234
@@ -575,6 +575,15 @@ class Imap { @@ -575,6 +575,15 @@ class Imap {
575 // 解析header字段 575 // 解析header字段
576 foreach ($result as $key=>$item){ 576 foreach ($result as $key=>$item){
577 $result[$key]['HEADER.FIELDS'] = $this->parseHeader($item['HEADER.FIELDS']); 577 $result[$key]['HEADER.FIELDS'] = $this->parseHeader($item['HEADER.FIELDS']);
  578 + // 编码问题
  579 + preg_match('/\("charset" "([a-z0-9\-]{3,})"\)/iU',$result[$key]['BODYSTRUCTURE'],$charset);
  580 + // 编码
  581 + if(!empty($charset[1])){
  582 +// $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
  583 + $result[$key]['HEADER.FIELDS']['Subject'] = mb_convert_encoding($result[$key]['HEADER.FIELDS']['Subject'], 'UTF-8', $charset[1]);
  584 + $result[$key]['HEADER.FIELDS']['From'] = mb_convert_encoding($result[$key]['HEADER.FIELDS']['From'], 'UTF-8', $charset[1]);
  585 + $result[$key]['HEADER.FIELDS']['To'] = mb_convert_encoding($result[$key]['HEADER.FIELDS']['To'], 'UTF-8', $charset[1]);
  586 + }
578 } 587 }
579 588
580 return $result; 589 return $result;