diff --git a/cmd/sync.php b/cmd/sync.php index 9d60001..5b29d62 100644 --- a/cmd/sync.php +++ b/cmd/sync.php @@ -4,7 +4,9 @@ use Swoole\Process; - +// 表示同步ai邮件脚本 +// 这个的作用主要用于 凡ai邮箱收件箱邮件,同步回来都是未读,不读取远程的 +define('CLI_AI_SYNC_START', 1); function start(){ diff --git a/service/SyncMail.php b/service/SyncMail.php index a8ff4c6..5c62351 100644 --- a/service/SyncMail.php +++ b/service/SyncMail.php @@ -337,6 +337,9 @@ class SyncMail { } $folder_id = $this->getFolderId($folder->getName()); + if($folder->getName() == 'INBOX'){ + $this->folder_inbox_id = $folder_id; + } if(in_array($folder->getName(),['INBOX','[Gmail]/Important','[Gmail]/Starred','星标邮件','Important'])){ $isBody = true; } @@ -456,18 +459,15 @@ class SyncMail { 'folder_id' => $data['folder_id'], 'uid' => $data['uid'] ]),'`id`')); - if(!$id){ - $id = $this->db->value(listsSql::firstHot(dbWhere([ - 'email_id'=> $data['email_id'], - 'folder_id' => $data['folder_id'], - 'uid' => $data['uid'] - ]),'`id`')); - } - if(!$id){ $id = $this->insert($data); + // 收件箱直接 未读 不远程为准 + if(defined('CLI_AI_SYNC_START') && !empty($this->folder_inbox_id) && $this->folder_inbox_id == $data['folder_id']){ + $data['seen'] = 0; + } + if(!$id){ continue; }