...
|
...
|
@@ -458,6 +458,13 @@ class Home extends Base { |
|
|
* @time 2023/3/21 11:41
|
|
|
*/
|
|
|
public function move(){
|
|
|
$this->moveCopy(function (Mail $mailInstance,$uid,$origin_folder,$to_origin_folder){
|
|
|
return $mailInstance->move($uid,$origin_folder,$to_origin_folder);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
private function moveCopy(\Closure $call){
|
|
|
$emails = $this->getEmails();
|
|
|
|
|
|
$mail_ids = app()->request('mail_ids');
|
...
|
...
|
@@ -520,15 +527,16 @@ class Home extends Base { |
|
|
$mailInstance = new Mail($emails[$eid]['email'],base64_decode($emails[$eid]['password']),$emails[$eid]['imap']);
|
|
|
|
|
|
if($mailInstance->login()){
|
|
|
$ret = $call($mailInstance,array_column($uid,'uid'),$folder['origin_folder'],$to_origin_folder['origin_folder']);
|
|
|
// TODO:: 这个过程无法保证原子性。没办法
|
|
|
// 先复制
|
|
|
$ret = $mailInstance->move(array_column($uid,'uid'),$folder['origin_folder'],$to_origin_folder['origin_folder']);
|
|
|
if($ret){
|
|
|
$uret = db()->update(listsSql::$table,['deleted'=>1],dbWhere(['id'=>array_column($uid,'id')]));
|
|
|
}
|
|
|
|
|
|
$mailInstance = null;
|
|
|
|
|
|
}
|
|
|
$mailInstance = null;
|
|
|
|
|
|
}
|
|
|
$folder = null;
|
...
|
...
|
@@ -547,6 +555,21 @@ class Home extends Base { |
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 复制邮件
|
|
|
* @throws \Lib\Err
|
|
|
* @author:dc
|
|
|
* @time 2024/3/9 13:50
|
|
|
*/
|
|
|
public function copy(){
|
|
|
$this->moveCopy(function (Mail $mailInstance,$uid,$origin_folder,$to_origin_folder){
|
|
|
|
|
|
return $mailInstance->copy($uid,$origin_folder,$to_origin_folder);
|
|
|
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
|