From ef580c94c43ecf911b633a6bfbf6d635a223439e Mon Sep 17 00:00:00 2001 From: root Date: Thu, 26 Dec 2019 23:46:09 +0800 Subject: [PATCH] update --- .../Controllers/Passport/CommController.php | 25 +++++------ app/Jobs/SendEmail.php | 44 +++++++++++++++++++ 2 files changed, 54 insertions(+), 15 deletions(-) create mode 100644 app/Jobs/SendEmail.php diff --git a/app/Http/Controllers/Passport/CommController.php b/app/Http/Controllers/Passport/CommController.php index 9f1fe81b..7f14464e 100644 --- a/app/Http/Controllers/Passport/CommController.php +++ b/app/Http/Controllers/Passport/CommController.php @@ -8,6 +8,7 @@ use App\Http\Controllers\Controller; use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Redis; +use App\Jobs\SendEmail; class CommController extends Controller { @@ -34,21 +35,15 @@ class CommController extends Controller } $code = rand(100000, 999999); $subject = config('v2board.app_name', 'V2Board') . '邮箱验证码'; - Mail::send( - 'mail.sendEmailVerify', - [ - 'code' => $code, - 'name' => config('v2board.app_name', 'V2Board') - ], - function ($message) use($email, $subject) { - $message->to($email)->subject($subject); - } - ); - if (count(Mail::failures()) >= 1) { - // 发送失败 - abort(500, '发送失败'); - } - + $this->dispatch(new SendEmail([ + 'email' => $email, + 'template_name' => 'mail.sendEmailVerify', + 'template_value' => [ + 'code' => $code, + 'name' => config('v2board.app_name', 'V2Board') + ], + 'subject' => $subject + ])); Redis::set($redisKey, $code); Redis::expire($redisKey, 600); return response([ diff --git a/app/Jobs/SendEmail.php b/app/Jobs/SendEmail.php new file mode 100644 index 00000000..d77898a5 --- /dev/null +++ b/app/Jobs/SendEmail.php @@ -0,0 +1,44 @@ +params = $params; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $params = $this->params; + $email = $params['email']; + $subject = $params['subject']; + Mail::send( + $params['template_name'], + $params['template_value'], + function ($message) use($email, $subject) { + $message->to($email)->subject($subject); + } + ); + } +}