<?php

namespace App\Core\Mail;

use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Config;

class EnwContactFormMail extends Mailable
{

    use Queueable, SerializesModels;

    public $tries = 5;
    public $timeout = 30;

    protected $param;


    public function __construct($param)
    {
        $this->param = $param;
    }

    public function build ()
    {
        try
        {
            $params = $this->param;
            $mailParams = $params['mailViewParams'] ;
            $mailData = $params['mailData'] ;
            $mailTitle =  __('myweb-contact-contact_form-title');

            app('translator')->setLocale($mailParams['language']);

            return $this->view('emails.enwContactFormMail', compact('mailParams', 'mailTitle'))
                ->to($mailData['to']["email"], $mailData['to']["name"])
                ->bcc($mailData['bcc'])
                ->subject($mailTitle);

        }
        catch ( Exception $e )
        {
            $message = $e->getFile()." ".$e->getLine()." ".$e->getMessage();
            Log::error($message);
            return output( ['status' => -1, 'message' => $e->getMessage()] );
        }
    }

}
