Home » Php » php – Laravel Mail::send how to pass data to mail View

php – Laravel Mail::send how to pass data to mail View

Posted by: admin July 12, 2020 Leave a comment

Questions:

How can i pass data from my Controller to my customized mail View ?

Here’s my controller‘s send mail method :

$data = array($user->pidm, $user->password);
Mail::send('emails.auth.registration', $data , function($message){
$message->to(Input::get('Email'), 'itsFromMe')
        ->subject('thisIsMySucject');

Here’s my emails.auth.registration View

<p>You can login into our system by using login code and password :</p>
<p><b>Your Login Code :</b></p> <!-- I want to put $data value here !-->
<p><b>Your Password :</b></p>   <!--I want to put $password value here !-->
<p><b>Click here to login :</b>&nbsp;www.mydomain.com/login</p>

Thanks in advance.

How to&Answers:

Send data like this.

$data = [
           'data' => $user->pidm,
           'password' => $user->password
];

You can access it directly as $data and $password in email blade

Answer:

$data = [
           'data' => $user->pidm,
           'password' => $user->password
];

second argument of send method passes array $data to view page

Mail::send('emails.auth.registration',["data1"=>$data] , function($message)

Now, in your view page use can use $data as

User name : {{ $data1["data"] }}
password : {{ $data1["password"] }}

Answer:

The callback argument can be used to further configure the mail. Checkout the following example:

Mail::send('emails.dept_manager_strategic-objectives', ['email' => $email], function ($m) use ($user) {
        $m->from('[email protected]', 'BusinessPluse');
        $m->to($user, 'admin')->subject('Your Reminder!');
});

Answer:

for those using the simpleMail this might help :

  $message = (new MailMessage)
   ->subject(Lang::getFromJson('Verify Email Address'))
   ->line(Lang::getFromJson('Please click the button below to verify your email address.'))
   ->action(Lang::getFromJson('Verify Email Address'), $verificationUrl)
   ->line(Lang::getFromJson('If you did not create an account, no further action is required.'));
  $message->viewData['data'] = $data;
        return $message;