作者 邓超

不同步谷歌的所有文件夹

@@ -56,6 +56,10 @@ function start(){ @@ -56,6 +56,10 @@ function start(){
56 $email = db()->cache(3600)->first(\Model\emailSql::first($id)); 56 $email = db()->cache(3600)->first(\Model\emailSql::first($id));
57 if($email){ 57 if($email){
58 $sync = new \Service\SyncMail($email); 58 $sync = new \Service\SyncMail($email);
  59 + // 这些文件夹不同步 谷歌的所有文件夹
  60 + $sync->setNoSyncFolder([
  61 + '[Gmail]/&UWiQ6JD1TvY-','[Gmail]/All Mail','[Gmail]/&YkBnCZCuTvY-'
  62 + ]);
59 // ai邮件只同步2天内的 63 // ai邮件只同步2天内的
60 $sync->search( 64 $sync->search(
61 (new \Lib\Imap\ImapSearch()) 65 (new \Lib\Imap\ImapSearch())
@@ -253,6 +253,16 @@ class SyncMail { @@ -253,6 +253,16 @@ class SyncMail {
253 } 253 }
254 254
255 /** 255 /**
  256 + * 不同步的文件夹
  257 + * @var array
  258 + */
  259 + private $noSyncFolders = [];
  260 +
  261 + public function setNoSyncFolder(array $folders){
  262 + $this->noSyncFolders = $folders;
  263 + }
  264 +
  265 + /**
256 * @param bool $syncMail 266 * @param bool $syncMail
257 * @return bool|void|array 267 * @return bool|void|array
258 * @throws \Exception 268 * @throws \Exception
@@ -282,7 +292,12 @@ class SyncMail { @@ -282,7 +292,12 @@ class SyncMail {
282 $startTime = time(); 292 $startTime = time();
283 foreach ($folders->all() as $f){ 293 foreach ($folders->all() as $f){
284 if($this->isStop) return; 294 if($this->isStop) return;
285 - 295 + // 不同步的文件夹
  296 + if($this->noSyncFolders){
  297 + if(in_array($f->folder,$this->noSyncFolders)){
  298 + continue;
  299 + }
  300 + }
286 if($f->isSelect){ // 是否可以选择 只有可以选中的文件夹才有邮件 301 if($f->isSelect){ // 是否可以选择 只有可以选中的文件夹才有邮件
287 $folder = $this->imap->folder($f); // 选择文件夹后,有状态 302 $folder = $this->imap->folder($f); // 选择文件夹后,有状态
288 303