/**
  * @throws \Exception
  */
 public function handle()
 {
     SendEmail::send($this->email);
 }
 /**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function send(Request $request)
 {
     $handleRequest = $this->repository->validateRequest($request);
     if (is_array($handleRequest)) {
         throw new StoreResourceFailedException('Invalid request', $handleRequest);
     } else {
         try {
             $options = $request->all();
             $email = $this->repository->customFill($options);
             if ($email->send_type) {
                 $method = strtoupper($email->send_type) == Email::SEND_TYPE_SYNC ? 'send' : 'queue';
             } else {
                 $method = env('MAIL_SEND_TYPE');
             }
             $email->send_type = $method;
             if (isset($options['save']) && $options['save'] === true) {
                 $email->save();
             } elseif (env('MAIL_SAVE') === true || strtoupper($method) == Email::SEND_TYPE_QUEUE) {
                 $email->save();
             }
             $serviceEmail = new SendEmail();
             $serviceEmail->handleEmailType($email, $method);
             return $this->response->created();
         } catch (\Exception $e) {
             return $this->response->error($e->getMessage(), 422);
         }
     }
 }