...
|
...
|
@@ -10,6 +10,7 @@ use Model\bodySql; |
|
|
use Model\emailSql;
|
|
|
use Model\folderSql;
|
|
|
use Model\listsSql;
|
|
|
use Model\sendJobsSql;
|
|
|
use PHPMailer\PHPMailer\PHPMailer;
|
|
|
use PHPMailer\PHPMailer\SMTP;
|
|
|
|
...
|
...
|
@@ -228,9 +229,19 @@ class Home extends Base { |
|
|
$sendData['priority'] = $formData['priority']??3;// 是否紧急邮件
|
|
|
$sendData['subject'] = $formData['subject'];// //Content 主题,标题
|
|
|
$sendData['body'] = $formData['body'];
|
|
|
// 不重要的信息
|
|
|
$sendData['jobName'] = $formData['jobName']??'';//任务标题
|
|
|
$sendData['massSuit'] = $formData['massSuit']??0;// 是否是群发单显
|
|
|
|
|
|
// 定时发送时间
|
|
|
$timer = strtotime(app()->request('timerValue','2023-04-10'));
|
|
|
$timer = app()->request('timerValue',0);
|
|
|
if(is_numeric($timer) && $timer){
|
|
|
$timer = time()+$timer;
|
|
|
}else if (is_string($timer)){
|
|
|
$timer = strtotime($timer);
|
|
|
}else{
|
|
|
$timer = 0;
|
|
|
}
|
|
|
// 是否存草稿
|
|
|
if(app()->request('saveType')=='draft'){
|
|
|
// 保存
|
...
|
...
|
@@ -242,15 +253,37 @@ class Home extends Base { |
|
|
app()->e('save_draft_error');
|
|
|
|
|
|
}
|
|
|
// 定时发送
|
|
|
else if(app()->request('timer') && $timer > time()){
|
|
|
// 定时发送 或者是单条发送
|
|
|
else if((app()->request('timer') && $timer > time()) || $sendData['massSuit']){
|
|
|
|
|
|
if($sendData['massSuit']){
|
|
|
// 每次发送间隔的时间
|
|
|
$sendData['masssuit_interval_send'] = app()->request('masssuit_interval_send');
|
|
|
$sendData['masssuit_interval_send']['start'] = intval($sendData['masssuit_interval_send']['start']??0);
|
|
|
$sendData['masssuit_interval_send']['end'] = intval($sendData['masssuit_interval_send']['end']??1);
|
|
|
}
|
|
|
|
|
|
}else{
|
|
|
// 发送
|
|
|
// $result = MailFun::sendEmail($sendData,$email);
|
|
|
// if($result[0]){
|
|
|
// app()->_json(['messageId' => $result[1]]);
|
|
|
// }
|
|
|
// 插入任务
|
|
|
$job_id = db()->insert(sendJobsSql::$table,[
|
|
|
'email_id' => $email['id'],
|
|
|
'maildata' => $sendData,
|
|
|
'title' => $sendData['jobName'] ? : $sendData['subject'],
|
|
|
'total' => count($sendData['tos']),
|
|
|
'send_time' => $timer
|
|
|
]);
|
|
|
if($job_id){
|
|
|
// 返回任务id
|
|
|
app()->_json(['job_id'=>$job_id]);
|
|
|
}
|
|
|
|
|
|
app()->e('send_timer_job_error');
|
|
|
}
|
|
|
else{
|
|
|
// 立即发送
|
|
|
$result = MailFun::sendEmail($sendData,$email);
|
|
|
if($result[0]){
|
|
|
app()->_json(['messageId' => $result[1]]);
|
|
|
}
|
|
|
// 错误
|
|
|
app()->e($result[1]);
|
|
|
}
|
...
|
...
|
@@ -490,7 +523,9 @@ class Home extends Base { |
|
|
|
|
|
if($data){
|
|
|
$sync_num = 0;
|
|
|
$data['to_name'] = json_decode($data['to_name']??"[]",true);
|
|
|
$data['to_name'] = $data['to_name'] ? json_decode($data['to_name'],true) : [];
|
|
|
$data['cc'] = $data['cc'] ? json_decode($data['cc'],true) : [];
|
|
|
$data['bcc'] = $data['bcc'] ? json_decode($data['bcc'],true) : [];
|
|
|
|
|
|
HOME_INFO_BODY:
|
|
|
$body = db()->first(bodySql::first($id));
|
...
|
...
|
@@ -551,9 +586,15 @@ class Home extends Base { |
|
|
return [
|
|
|
'data' => $data
|
|
|
];
|
|
|
}// 草稿
|
|
|
else if(!$data['uid'] && $data['draft']){
|
|
|
$data['body'] = [];
|
|
|
return [
|
|
|
'data' => $data
|
|
|
];
|
|
|
}
|
|
|
// 循环几次
|
|
|
if($sync_num < 1){
|
|
|
if($data['uid']&&$sync_num < 1){
|
|
|
$mail = new Mail($email['email'],base64_decode($email['password']),$email['imap']);
|
|
|
|
|
|
if($mail->login()){
|
...
|
...
|
|