|
|
<?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(){
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|