From bc78b9b5f87153feaa531792b4c36b6014c0681e Mon Sep 17 00:00:00 2001 From: wangzhaocui <18722597281> Date: Wed, 6 Apr 2022 17:14:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E6=B6=88=E6=81=AF=E9=98=9F?= =?UTF-8?q?=E5=88=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Article.php | 3 +- application/api/job/domail.php | 61 ++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index 942973c..11dfdf7 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -796,7 +796,8 @@ class Article extends Controller { $tts .= 'Sincerely,
Editorial Office
'.$journal_info['title'].'
'; $tts .= 'Email: '.$journal_info['email'].'
'; $tts .= 'Website:'.$journal_info['website'].''; - + $sendUser['user_id'] = $v['user_id']; + $sendUser['email'] = $v['email']; $sendUser['content'] = $tts; Queue::push('app\api\job\domail@fire',$sendUser,'domail'); // sendEmail($v['email'], $journal_info['title'], $journal_info['title'], $tts, $journal_info['email'], $journal_info['epassword']); diff --git a/application/api/job/domail.php b/application/api/job/domail.php index c78326c..72b6a71 100644 --- a/application/api/job/domail.php +++ b/application/api/job/domail.php @@ -8,13 +8,65 @@ use think\queue\Job; class domail { - public function fire(Job $job, $data) { - $this->send($data); +// $this->send($data); +// $job->delete(); + + // 发送邮件 + $isJobDone = $this->doTask($data); + // 删除 $job->delete(); - + //入库 + $this->insertData($data,$isJobDone); + } - + + + /** + * 发送邮件 + * @param $data + * @return array + */ + public function doTask($data){ + if(isset($data['attachment_url']) && !empty($data['attachment_url']) ){ + $res = sendEmail($data['email'],$data['title'],$data['from_name'],$data['content'],$data['sendEmail'],$data['sendPassword'],$data['attachment_url']); + }else{ + $res = sendEmail($data['email'],$data['title'],$data['from_name'],$data['content'],$data['sendEmail'],$data['sendPassword']); + } + return $res; + } + + + /** + * email记录入库 + * @param $data + * @param $isJobDone + */ + public function insertData($data,$isJobDone) + { + $insert = [ + 'title' => $data['title'], + 'content' => $data['content'], + 'recive_id' => $data['user_id'], + 'recive_email' => $data['email'], + 'journal_id' => $data['journal_id'], + 'journal_email' => $data['sendEmail'], + 'journal_password' => $data['sendPassword'], + 'create_time' => time() + ]; + if (isset($data['attachment_url']) && !empty($data['attachment_url'])) { + $insert['is_attachment'] = 1; + $insert['attachment_url'] = $data['attachment_url']; + } + if($isJobDone['status']==0){ + $insert['is_success'] = 0; + $insert['fail_reason'] = $isJobDone['data']; + } + Db::name('email')->insert($insert); + } + + + /** * 发送邮件的逻辑 * @param type $data @@ -49,4 +101,5 @@ class domail { } } + }