SyncMail.php 1.0 KB
<?php

namespace Service;

use Lib\Imap\ImapConfig;
use Lib\Imap\ImapPool;
use Model\emailSql;

/**
 * 同步邮件
 * @author:dc
 * @time 2024/9/26 9:31
 * Class SyncMail
 * @package Service
 */
class SyncMail {

    /**
     * @var \Lib\Db|\Lib\DbPool
     */
    protected $db;

    /**
     * @var \Lib\Imap\Imap
     */
    protected $imap;

    /**
     * SyncMail constructor.
     * @param int|string|array $email
     * @throws \Exception
     */
    public function __construct(int|string|array $email)
    {
        $this->db = db();

        if(!is_array($email)){
            $email = $this->db->first(emailSql::first($email));
            if(!$email){
                abort('未查询到邮箱');
            }
        }

        // 实例一个imap类
        $this->imap = ImapPool::get(
            (new ImapConfig())
                ->setHost($email['imap'])
                ->setEmail($email['email'])
                ->setPassword(base64_decode($email['password']))
        );


    }


    public function syncFolder(){

    }















}