作者 邓超

兼容 微软邮箱

@@ -885,8 +885,16 @@ class Imap { @@ -885,8 +885,16 @@ class Imap {
885 // RFC822.TEXT不能和 BODY[HEADER.FIELDS 同时存在,否则解析失败 885 // RFC822.TEXT不能和 BODY[HEADER.FIELDS 同时存在,否则解析失败
886 case 'RFC822.TEXT':{ 886 case 'RFC822.TEXT':{
887 array_shift($header); 887 array_shift($header);
888 - $result['RFC822.TEXT'] = implode(' ',$header); 888 + $result['RFC822.TEXT'] = trim(implode(' ',$header));
889 $header = []; 889 $header = [];
  890 + // 微软的邮箱有毛病
  891 + $endLine = explode("\n",$result['RFC822.TEXT']);
  892 + $endLine = trim(end($endLine));
  893 + if(preg_match("/^UID\s\d+\sFLAGS\s\(.*\)$/iU",$endLine)){
  894 + $arr = $this->parseFetch($endLine);
  895 + $result = array_merge($result,$arr);
  896 + $result['RFC822.TEXT'] = mb_substr($result['RFC822.TEXT'],0,-mb_strlen($endLine));
  897 + }
890 break; 898 break;
891 } 899 }
892 case 'RFC822.HEADER':{ 900 case 'RFC822.HEADER':{