当我尝试使用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。
提前致谢
答案 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);
});