发送电子邮件时Laravel出现问题

时间:2014-09-26 13:27:28

标签: php laravel swiftmailer

当我尝试使用lavelvel中的swiftmailer发送电子邮件时,我得到以下错误:"缺少用于UsersController的参数2 :: {closure}()"。

我的代码如下:

Mail::send('emails.default', array('key' => Config::get('settings.WELCOMEMAIL')), function($message, $mail, $subject = 'Welcome!')
{
    $message->to($mail)->subject($subject);
});
但是,这真的很奇怪。 $ mail变量包含一个有效的电子邮件地址,我在这个脚本中根本没有使用UsersController。

提前致谢

1 个答案:

答案 0 :(得分:5)

您必须只将$message传递给闭包。必须使用use关键字传递任何其他变量:

Mail::send('emails.default', array('key' => Config::get('settings.WELCOMEMAIL')), function($message) use($mail, $subject)
{
    $subject = empty($subject) ? 'Welcome!' : $subject;
    $message->to($mail)->subject($subject);
});