将表单输入数据传递到邮件视图 - Laravel


Passing form input data to the mail view - Laravel

我正在制作一个将发送电子邮件的表格。

目前它是一个通用的刀片形式,指向/admin/newemail

我有我的路由,为了测试邮件是从该路由发送的:

Route::get('admin/newemail', function()
{
    $email = 'email@hotmail.com';
    $data = Input::all();
    Mail::send('emails.newemail', $data, function($message) use ($email){
        // $message details
    });
});

然后为了试用这个,我尝试了我的观点:(在我的表格中有一个"主题"的字段名称)

echo Input::get("subject");

我实际上有两个问题。(我正在使用日志驱动程序)

1)电子邮件未显示在日志中,它只是显示[] []
2)数据既不显示也不显示,其空白。

如果我只是有:

echo "hello!";

然后日志将输出 hello,同样,如果我将我的邮件数据变量更改为数组:

$data = array('test' => 'test');

然后在视图中:

echo $test;

那也行得通。但我希望它从我的表格中获取我的输入。

在这里,试试这个:

Mail::send('emails.welcome', array('key' => 'value'), function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
在这里,键将是您要

提供的任何名称,值将是您要分配的数据,它可以是表单数据,也可以来自数据库。

现在,在完成此操作后,在您的视图/电子邮件中创建一个文件作为welcome.blade.php并获取通过邮件函数传递的值:

{{ $key }} 

以上是表示数据的边栏选项卡格式。

有关

邮件的详细信息,请访问此处,有关边栏选项卡模板,请转到此处。

看看,如果这对你有帮助。

Mail::send('emails.welcome', Input::all(), function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});

在你看来,你有

{{Input::get("subject")}}

这是我自己使用的,它工作得很好。