| 
 | 
 | 
 <?php
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 /**
 | 
| 
 | 
 | 
  * 检查邮件同步时出现的空数据,很奇怪
 | 
| 
 | 
 | 
  * 定时任务,每1小时执行一次
 | 
| 
 | 
 | 
  */
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 require_once "../vendor/autoload.php";
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 $id = redis()->get('empty_subject_check',185163874);
 | 
| 
 | 
 | 
 while($id){
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     $list = db()->first(\Model\listsSql::first('`id` > '.$id.' and `subject` = ""','`id`,`email_id`,`folder_id`,`uid`'));
 | 
| 
 | 
 | 
     if(!$list){
 | 
| 
 | 
 | 
         break;
 | 
| 
 | 
 | 
     }
 | 
| 
 | 
 | 
     $id = $list['id']??0;
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     echo $id."\n";
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     $email = db()->first(\Model\emailSql::first($list['email_id']));
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     $folder = db()->first(\Model\folderSql::first($list['folder_id']));
 | 
| 
 | 
 | 
     if(!$folder){continue;}
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     $config = (new \Lib\Imap\ImapConfig())
 | 
| 
 | 
 | 
         // ->debug()
 | 
| 
 | 
 | 
         ->setEmail($email['email'])
 | 
| 
 | 
 | 
         ->setPassword(base64_decode($email['password']))
 | 
| 
 | 
 | 
         ->setHost($email['imap']);
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     $imap = \Lib\Imap\ImapPool::get($config);
 | 
| 
 | 
 | 
     //$imap->debug();
 | 
| 
 | 
 | 
     $login = $imap->login();
 | 
| 
 | 
 | 
     if($login->isOk()){
 | 
| 
 | 
 | 
         (new \Service\SyncMail($email,$imap))->mail($folder['origin_folder'],[$list['uid']]);
 | 
| 
 | 
 | 
     }
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 }
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 redis()->get('empty_subject_check',$id);
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
 exit; | 
...
 | 
...
 | 
 |