I have this class that takes care of emails.
public function mail($emails, $message)
{
Mail::queue('emails.notification', ['message' => $message], function($m) use ($emails) {
$m->to($emails);
$m->subject('Notification....');
});
}
the $massage parameter is called from the a this class,
private function report(Notification $notification, $resCode)
{
if(empty($resCode)){
$resCode = "no response found";
}
$this->reporter->slack($notification->website_url . ':' . ' is down' . ' this is the status code!' . ' @- ' .$resCode,
$notification->slack_channel);
$this->reporter->mail($notification->email,$notification->website_url.' is down '. ' this is the status Code: '. $resCode);
}
Now i want to display the message the message in the emails.notification.blade and i tried this way
@extends('layout')
@section('header')
@stop
@section('content')
<h1>The Web site is down!</h1>
{{ $message }}
@stop
@section('footer')
@stop
[ErrorException]
htmlspecialchars() expects parameter 1 to be string, object given
this is the exception that I got. anyone with a better suggestion?
In your controller, the variables are passed as an associative array to Mail::send()
:
$data = ['emailId' => $emailId, 'mailBody' => $mailBody];
Mail::send(
'mail.emailForgotPassword',
$data,
function ($message) use ($data) {
$message->from('xyz.com', 'abc');
$message->to($data['emailId'])->subject('Your Subject');
}
);
and in your Blade template, you can reference the variables by using {{$mailBody}}
or {{$emailId}}
.