首页 > 解决方案 > passing query data to send in mail laravel

问题描述

i have a query to return all the the data in visits table

$visits = Visit::get();

i want to pass the returned data in $data so that i can send it on mail and display the data in the email body

$data = array();


        Mail::send('mails.mail', $data, function ($message) use ($host_email, $to_name) {
            $message->from('', '');
            $message->to($host_email);
            $message->subject('Visitor arrived');

        });

how do i do that

标签: laravel

解决方案


您可以使用 Laravel 结构,您可以使用以下命令创建邮件类:

php artisan make:mail OrderShipped

它将在构建方法中名为 OrderShipped 的 App\Mail 路径示例中生成一个类,您可以为此邮件调用刀片视图并向其发送数据,如下所示:

public function build()
    {
        return $this->view('emails.orders.shipped')
                    ->with([
                        'orderName' => $this->order->name,
                        'orderPrice' => $this->order->price,
                    ]);
    }

最后使用它向用户发送电子邮件:

Mail::to($request->user())->send(new OrderShipped($order));

在此处查看完整文档: laravel 邮件


推荐阅读