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 {
}
}
+
}