正在显示
2 个修改的文件
包含
33 行增加
和
2 行删除
| @@ -616,6 +616,11 @@ class SyncMail { | @@ -616,6 +616,11 @@ class SyncMail { | ||
| 616 | } | 616 | } |
| 617 | } | 617 | } |
| 618 | 618 | ||
| 619 | + // 退信拿body | ||
| 620 | + if ($item->getFolderName()=='INBOX'&&stripos($data['subject'], '退信')){ | ||
| 621 | + $isBody = true; | ||
| 622 | + } | ||
| 623 | + | ||
| 619 | //TODO 如果header 头信息里面有2段数据 第二段就作为内容解析 | 624 | //TODO 如果header 头信息里面有2段数据 第二段就作为内容解析 |
| 620 | if($item->header->body()){ | 625 | if($item->header->body()){ |
| 621 | $parseBody = $item->header->body(); | 626 | $parseBody = $item->header->body(); |
| @@ -627,6 +632,29 @@ class SyncMail { | @@ -627,6 +632,29 @@ class SyncMail { | ||
| 627 | 632 | ||
| 628 | // 是否同步body内容 | 633 | // 是否同步body内容 |
| 629 | if($parseBody instanceof Body){ | 634 | if($parseBody instanceof Body){ |
| 635 | + // 修改完成重启sync.php脚本 | ||
| 636 | + $mailBody = $parseBody->getText(); | ||
| 637 | + if ($item->getFolderName() == 'INBOX' && stripos($mailBody, '退信')) { | ||
| 638 | + // 日志记录 | ||
| 639 | + logs('退信邮件,id【' . $id . '】body:' . $mailBody, '../log/returned-mail-record/' . date('Y-m-d H:i:s') . '.log'); | ||
| 640 | + // 通知到黑格 es | ||
| 641 | + try { | ||
| 642 | + SaberGM::post(SUPER_HOST.'api/mailbox_status_set', [ | ||
| 643 | + 'id' => $id, | ||
| 644 | + 'subject' => $data['subject'], | ||
| 645 | + 'udate' => $data['udate'], | ||
| 646 | + 'from' => $data['from'], | ||
| 647 | + 'body' => $mailBody, | ||
| 648 | + 'tos' => array_column($data['to_name'], 'email') | ||
| 649 | + ]); | ||
| 650 | + } catch (\Throwable $exception) { | ||
| 651 | + logs('推送到黑格异常:' . $exception, '../log/returned-mail-record/' . date('Y-m-d H:i:s') . '.log'); | ||
| 652 | + } | ||
| 653 | + if (php_sapi_name() == 'cli') { | ||
| 654 | + continue; // 不记录数据库,退信非常庞大,磁盘顶不住 | ||
| 655 | + } | ||
| 656 | + } | ||
| 657 | + | ||
| 630 | // 记录邮件体 源文件 | 658 | // 记录邮件体 源文件 |
| 631 | // Log::put( | 659 | // Log::put( |
| 632 | // ROOT_PATH.'/eml/'.$this->email['email']."/".$item->getFolderName().'/'.$item->uid.'.eml', | 660 | // ROOT_PATH.'/eml/'.$this->email['email']."/".$item->getFolderName().'/'.$item->uid.'.eml', |
| @@ -640,7 +668,7 @@ class SyncMail { | @@ -640,7 +668,7 @@ class SyncMail { | ||
| 640 | 668 | ||
| 641 | 669 | ||
| 642 | $body['text_html'][] = [ | 670 | $body['text_html'][] = [ |
| 643 | - 'body' => base64_encode($parseBody->getHtml() ? : $parseBody->getText()), | 671 | + 'body' => base64_encode($parseBody->getHtml() ? : $mailBody), |
| 644 | 'type' => $parseBody->getHtml()?'text/html':'text/plain', | 672 | 'type' => $parseBody->getHtml()?'text/html':'text/plain', |
| 645 | 'charset' => 'utf-8', | 673 | 'charset' => 'utf-8', |
| 646 | 'encode' => 'base64', | 674 | 'encode' => 'base64', |
| @@ -682,7 +710,7 @@ class SyncMail { | @@ -682,7 +710,7 @@ class SyncMail { | ||
| 682 | // 更新描述 | 710 | // 更新描述 |
| 683 | $this->db->update(listsSql::$table,[ | 711 | $this->db->update(listsSql::$table,[ |
| 684 | 'description'=> | 712 | 'description'=> |
| 685 | - Fun::mb_convert_encoding(mb_substr($parseBody->getText(),0,150),'utf-8') | 713 | + Fun::mb_convert_encoding(mb_substr($mailBody,0,150),'utf-8') |
| 686 | ],dbWhere(['id'=> $id])); | 714 | ],dbWhere(['id'=> $id])); |
| 687 | 715 | ||
| 688 | // 同步es | 716 | // 同步es |
-
请 注册 或 登录 后发表评论