Php Laravel-Mail::send()如何将数据(以数组格式)传递到电子邮件html并发送

Php Laravel-Mail::send()如何将数据(以数组格式)传递到电子邮件html并发送,php,laravel,html-email,sendmail,Php,Laravel,Html Email,Sendmail,我试图在发送之前将请求中的值(存储为数组)传递到html格式的电子邮件中 $data = array('email' => $request->get('email'), 'name' => $request->get('name')); Mail::send('emails.email', ['data' => $data], function ($message) use ($data) { $message->subject('H

我试图在发送之前将请求中的值(存储为数组)传递到html格式的电子邮件中

$data = array('email' => $request->get('email'), 'name' => $request->get('name'));
    Mail::send('emails.email', ['data' => $data], function ($message) use ($data) {
        $message->subject('Hello world!');
        $message->to($data['email'], $data['name']);
    });
这是我在email.blade.php中的电子邮件html格式文件


为什么?

首先必须在mail类中声明变量,如下所示:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class MailForm extends Mailable
{
    use Queueable, SerializesModels;
    public $fullname;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($fullname)
    {
        //
        $this->fullname     = $fullname;

    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('sendmail');
    }
}
不要忘记在控制器中调用mail类和mail facades,如:

use App\Mail\MailForm;
use Illuminate\Support\Facades\Mail;

首先,必须在mail类中声明变量,如下所示:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class MailForm extends Mailable
{
    use Queueable, SerializesModels;
    public $fullname;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($fullname)
    {
        //
        $this->fullname     = $fullname;

    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('sendmail');
    }
}
不要忘记在控制器中调用mail类和mail facades,如:

use App\Mail\MailForm;
use Illuminate\Support\Facades\Mail;
Mail::send('emails.email',['data'=>$data],函数($message)use($data){
$message->subject('Hello world!');
$message->to($data['email'],$data['name']);
});
您正在传递的是
数据
变量,而不是
名称
['data'=>$data]
)。因此,从该数组中获取名称:

<h2>HELLO YOU HAVE A NEW EVENT!</h2>
<h3>TO {{ $data['name'] }}</h3>
Mail::send('emails.email',['data'=>$data],函数($message)use($data){
$message->subject('Hello world!');
$message->to($data['email'],$data['name']);
});
您正在传递的是
数据
变量,而不是
名称
['data'=>$data]
)。因此,从该数组中获取名称:

<h2>HELLO YOU HAVE A NEW EVENT!</h2>
<h3>TO {{ $data['name'] }}</h3>

In-mail类应构建方法和In-build方法返回$this->view()可能通过
with
方法帮助您在mail类应构建方法和In-build方法返回$this->view()可能通过
with
方法帮助您