正在显示
1 个修改的文件
包含
39 行增加
和
28 行删除
| @@ -254,6 +254,10 @@ class Body { | @@ -254,6 +254,10 @@ class Body { | ||
| 254 | // $filename = MailFun::decodeMimeStr($filename[1]); | 254 | // $filename = MailFun::decodeMimeStr($filename[1]); |
| 255 | $filename = mb_decode_mimeheader($filename[1]); | 255 | $filename = mb_decode_mimeheader($filename[1]); |
| 256 | } | 256 | } |
| 257 | + // 附件 | ||
| 258 | + if(stripos($item,'Content-Disposition: attachment;')!==false){ | ||
| 259 | + $isfileattachment = 1; | ||
| 260 | + } | ||
| 257 | 261 | ||
| 258 | 262 | ||
| 259 | // 删除不需要的tag属性,如果需要进进行解析 | 263 | // 删除不需要的tag属性,如果需要进进行解析 |
| @@ -270,39 +274,44 @@ class Body { | @@ -270,39 +274,44 @@ class Body { | ||
| 270 | } | 274 | } |
| 271 | // 是文本还是附件 | 275 | // 是文本还是附件 |
| 272 | else if(strpos($data['type'],'text/') === 0 ){ | 276 | else if(strpos($data['type'],'text/') === 0 ){ |
| 273 | - // tag | ||
| 274 | - $data['body'] = trim($this->body_remove_tag($data['body'],'Content-ID:')); | ||
| 275 | - | ||
| 276 | - $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 277 | - $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 278 | - $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 279 | - $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 280 | - | ||
| 281 | - // body解密 | ||
| 282 | - switch($data['encode']??''){ | ||
| 283 | - case 'base64': { | ||
| 284 | - $data['body'] = base64_decode($data['body']); | ||
| 285 | - break; | ||
| 286 | - } | ||
| 287 | - case 'quoted-printable': { | ||
| 288 | - $data['body'] = quoted_printable_decode($data['body']); | ||
| 289 | - break; | ||
| 290 | - } | ||
| 291 | - case '8bit': { | ||
| 292 | - try { | ||
| 293 | -// $data['body'] = DeCoding::de8bit($data['body']); | ||
| 294 | - // 暂时没有替换 imap_8bit的函数 | ||
| 295 | - $data['body'] = imap_8bit($data['body']); | ||
| 296 | - $data['body'] = quoted_printable_decode($data['body']); | ||
| 297 | - }catch (\Throwable $e){ | ||
| 298 | 277 | ||
| 278 | + // 这里还有可能出现附件 | ||
| 279 | + if($filename&&!empty($isfileattachment)){ | ||
| 280 | + $data = $this->parseFile($data,$filename); | ||
| 281 | + }else{ | ||
| 282 | + // tag | ||
| 283 | + $data['body'] = trim($this->body_remove_tag($data['body'],'Content-ID:')); | ||
| 284 | + | ||
| 285 | + $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 286 | + $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 287 | + $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 288 | + $data['body'] = $this->body_remove_tag($data['body'],"Content-"); | ||
| 289 | + | ||
| 290 | + // body解密 | ||
| 291 | + switch($data['encode']??''){ | ||
| 292 | + case 'base64': { | ||
| 293 | + $data['body'] = base64_decode($data['body']); | ||
| 294 | + break; | ||
| 295 | + } | ||
| 296 | + case 'quoted-printable': { | ||
| 297 | + $data['body'] = quoted_printable_decode($data['body']); | ||
| 298 | + break; | ||
| 299 | } | 299 | } |
| 300 | + case '8bit': { | ||
| 301 | + try { | ||
| 302 | +// $data['body'] = DeCoding::de8bit($data['body']); | ||
| 303 | + // 暂时没有替换 imap_8bit的函数 | ||
| 304 | + $data['body'] = imap_8bit($data['body']); | ||
| 305 | + $data['body'] = quoted_printable_decode($data['body']); | ||
| 306 | + }catch (\Throwable $e){ | ||
| 307 | + | ||
| 308 | + } | ||
| 300 | 309 | ||
| 301 | - break; | 310 | + break; |
| 311 | + } | ||
| 302 | } | 312 | } |
| 303 | - } | ||
| 304 | 313 | ||
| 305 | - // 转码 | 314 | + // 转码 |
| 306 | // if(isset($data['charset']) && $data['charset']){ | 315 | // if(isset($data['charset']) && $data['charset']){ |
| 307 | // $debody = @mb_convert_encoding($data['body'],'utf-8',$data['charset']); | 316 | // $debody = @mb_convert_encoding($data['body'],'utf-8',$data['charset']); |
| 308 | // if($debody){ | 317 | // if($debody){ |
| @@ -310,6 +319,8 @@ class Body { | @@ -310,6 +319,8 @@ class Body { | ||
| 310 | // $debody = null; | 319 | // $debody = null; |
| 311 | // } | 320 | // } |
| 312 | // } | 321 | // } |
| 322 | + } | ||
| 323 | + | ||
| 313 | 324 | ||
| 314 | 325 | ||
| 315 | } | 326 | } |
-
请 注册 或 登录 后发表评论