SyncMail.php 1.8 KB
<?php

namespace Event;

use Lib\Imap\Parse\MessageItem;
use Model\emailSql;
use Model\folderSql;
use Model\listsSql;
use Swlib\Saber;
use Swlib\SaberGM;

/**
 * 邮件同步成功的事件
 * @author:dc
 * @time 2024/8/22 15:47
 * Class syncMail
 * @package Event
 */
class SyncMail {
    /**
     * @var \Lib\Db|\Lib\DbPool
     */
    private $db;


    public function __construct(int $id, array $data)
    {

//            $this->db = db();

            if($data['is_hots']){
                return true;
            }


            // 是否在指定文件夹内
//            $f = $this->db->value(folderSql::first($data['folder_id'],'folder'));
//            if(!$f){
//                return true;
//            }
//            $f = folderAlias($f);


            // 不是预热邮箱
//            if($f=='收件箱'){

                // 邮件过滤 这些邮箱都是系统邮箱
//            if(!$this->checkEmail($data['from']) && !$this->checkSubject($data['subject'])){
                //只提醒re
                if(stripos(trim($data['subject']),'re:')===0){
                    // 通知黑格 2024-08-22 新上 这个是异步的不会阻塞当前进程
                    try {
                        SaberGM::post('https://fob.ai.cc/api/email_new_push',[
                            'sign'  =>  md5(date('ymd').'fob.ai.cc.email'),
                            'id'    =>  $id,
                            'subject'   =>  $data['subject'],
                            'udate'   =>  $data['udate'],
                            'from'   =>  $data['from'],
                            'tos'    =>  array_column($data['to_name'],'email')
                        ]);
                    }catch (\Throwable $e){
                        // 就算异常了也不在推送了
                    }

                }


//            }


    }



}