作者 朱世亮

219120-记录AI退信邮件

... ... @@ -47,6 +47,9 @@ define('APP_DEBUG',true);
// 当前的访问域名
define('APP_HOST','http://www.mail.cn');
// 超迹AI的线上地址
define('SUPER_HOST', 'https://fob.ai.cc/');
... ...
... ... @@ -616,6 +616,11 @@ class SyncMail {
}
}
// 退信拿body
if ($item->getFolderName()=='INBOX'&&stripos($data['subject'], '退信')){
$isBody = true;
}
//TODO 如果header 头信息里面有2段数据 第二段就作为内容解析
if($item->header->body()){
$parseBody = $item->header->body();
... ... @@ -627,6 +632,29 @@ class SyncMail {
// 是否同步body内容
if($parseBody instanceof Body){
// 修改完成重启sync.php脚本
$mailBody = $parseBody->getText();
if ($item->getFolderName() == 'INBOX' && stripos($mailBody, '退信')) {
// 日志记录
logs('退信邮件,id【' . $id . '】body:' . $mailBody, '../log/returned-mail-record/' . date('Y-m-d H:i:s') . '.log');
// 通知到黑格 es
try {
SaberGM::post(SUPER_HOST.'api/mailbox_status_set', [
'id' => $id,
'subject' => $data['subject'],
'udate' => $data['udate'],
'from' => $data['from'],
'body' => $mailBody,
'tos' => array_column($data['to_name'], 'email')
]);
} catch (\Throwable $exception) {
logs('推送到黑格异常:' . $exception, '../log/returned-mail-record/' . date('Y-m-d H:i:s') . '.log');
}
if (php_sapi_name() == 'cli') {
continue; // 不记录数据库,退信非常庞大,磁盘顶不住
}
}
// 记录邮件体 源文件
// Log::put(
// ROOT_PATH.'/eml/'.$this->email['email']."/".$item->getFolderName().'/'.$item->uid.'.eml',
... ... @@ -640,7 +668,7 @@ class SyncMail {
$body['text_html'][] = [
'body' => base64_encode($parseBody->getHtml() ? : $parseBody->getText()),
'body' => base64_encode($parseBody->getHtml() ? : $mailBody),
'type' => $parseBody->getHtml()?'text/html':'text/plain',
'charset' => 'utf-8',
'encode' => 'base64',
... ... @@ -682,7 +710,7 @@ class SyncMail {
// 更新描述
$this->db->update(listsSql::$table,[
'description'=>
Fun::mb_convert_encoding(mb_substr($parseBody->getText(),0,150),'utf-8')
Fun::mb_convert_encoding(mb_substr($mailBody,0,150),'utf-8')
],dbWhere(['id'=> $id]));
// 同步es
... ...