我尝试使用Laravel 5.2发送邮件,我尝试使用函数Mail::send
Mail::send('reminder', ['user' => $user], function ($m) use ($user) {
$m->from('hello@app.com', 'Your Application');
$m->to($user->email, $user->name)->subject('Your Reminder!');
});
这就是我在views / reminder.blade.php
中的内容Hello <?php echo $user->name; ?> this is your mail
现在,当我尝试使用此方法时,它会给我以下错误:
InvalidArgumentException in FileViewFinder.php line 137: View [reminder] not found.
有人可以向我解释为什么会发生这种情况,我该如何解决这个问题?
谢谢。
答案 0 :(得分:0)
在您的示例中,您指定要使用的刀片模板名为reminder
,并且它必须位于resources/views
目录的根目录中。
Mail::send('reminder', ['user' => $user], function ($m) use ($user) {
$m->from('hello@app.com', 'Your Application');
$m->to($user->email, $user->name)->subject('Your Reminder!');
});
您的视图可能位于另一个目录中,人们通常会将其电子邮件模板放在resources/views/mail
或类似名称中,以便将其与其他类型的视图分开。在这种情况下,您可以使用Laravel的点表示法来指定目录:
Mail::send('mail.reminder', ['user' => $user], function ($m) use ($user) {
$m->from('hello@app.com', 'Your Application');
$m->to($user->email, $user->name)->subject('Your Reminder!');
});
我认为您的视图不在resources/views
目录的根目录中,因此需要放在那里,或者您应该使用点表示法来指定视图所在的目录。