正在显示
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 |
-
请 注册 或 登录 后发表评论