Let*_*123 0 php email laravel laravel-4
我正试图在laravel发送邮件.不确定我是否正确地做了但我将所有内容都基于教程,并尽量保持简单.我究竟做错了什么?它目前给我一个错误:"传递给Illuminate\Mail\Mailer :: send()的参数2必须是数组类型,字符串" 如果我留下一个空的$ data,它表示它未定义.我不知道怎么做所有这些事情.有什么帮助吗?
$data = "helloooo";
Mail::send('emails.welcome', $data, function($message) {
$message->to('thatsmymail123@gmail.com', 'me')->subject('Welcome!'); });
Run Code Online (Sandbox Code Playgroud)
线索出现在您的错误中."传递给的参数2 Illuminate\Mail\Mailer::send()必须是类型数组,字符串给出"
您需要传递给Mail::send()函数的数组与呈现视图的通常方式完全相同.
例如,您可以执行此操作来呈现视图.
$data['foo'] = 'bar';
return View::make('my.view', $data);
Run Code Online (Sandbox Code Playgroud)
在您的视图中,您有一个$foo可用的变量.这同样适用于发送电子邮件.Laravel仍然需要呈现您的电子邮件视图.要解决上面的问题......
$data = ['foo' => 'bar'];
Mail::send('emails.welcome', $data, function($message)
{
$message->to('email@example.com', 'Jon Doe')->subject('Welcome!');
});
Run Code Online (Sandbox Code Playgroud)
如果您没有/需要将任何数据传递给您的视图,只需使用一个空数组.
$data = []; // Empty array
Mail::send('emails.welcome', $data, function($message)
{
$message->to('email@example.com', 'Jon Doe')->subject('Welcome!');
});
Run Code Online (Sandbox Code Playgroud)