onQueue('send_email'); $this->params = $params; } /** * Execute the job. * * @return void */ public function handle() { $params = $this->params; $email = $params['email']; $subject = $params['subject']; $params['template_name'] = 'mail.' . config('v2board.email_template', 'default') . '.' . $params['template_name']; try { Mail::send( $params['template_name'], $params['template_value'], function ($message) use ($email, $subject) { $message->to($email)->subject($subject); } ); } catch (\Exception $e) { $error = $e->getMessage(); } MailLog::create([ 'email' => $params['email'], 'subject' => $params['subject'], 'template_name' => $params['template_name'], 'error' => isset($error) ? $error : NULL ]); } }