body = $mail->body; $this->recipient = $mail->recipient; $this->recipient_type = $mail->recipient_type; $this->subject = $mail->subject; $this->connection = 'redis'; } /** * Execute the job. * Utilized by using ProcessSendEveMailJob::dispatch($mail); * The model is passed into the dispatch function, then added to the queue * for processing. * * @return void */ public function handle() { //Declare some variables $esiHelper = new Esi; //Get the esi configuration $config = config('esi'); //Retrieve the token for main character to send mails from $token = EsiToken::where(['character_id'=> $config['primary']])->first(); //Create the ESI authentication container $esi = $esiHelper->SetupEsiAuthentication($token); //Attemp to send the mail try { $esi->setBody([ 'approved_cost' => 100, 'body' => $this->body, 'recipients' => [[ 'recipient_id' => $this->recipient, 'recipient_type' => $this->recipient_type, ]], 'subject' => $this->subject, ])->invoke('post', '/characters/{character_id}/mail/', [ 'character_id'=> $config['primary'], ]); } catch(RequestFailedException $e) { Log::warning($e); return null; } $this->delete(); } /** * The job failed to process. * * @param Exception $exception * @return void */ public function failed($exception) { Log::critical($exception); } }