Laravel 发送电子邮件 call_user_func() 错误
Laravel sending email call_user_func() error
我正尝试在 laravel 中发送电子邮件,为此我正在使用 mail::send
函数。
这是我的代码:
$data = [
'title'=>'Some Title',
'content'=>'Content',
'email'=> 'email',
'password'=>'password',
'remarks'=>'remarks'
];
Mail::send('admin.mails.activate', $data, ['user'=>$user], function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
我试图将 $data 变量传递给视图文件,将 $user 变量传递给回调函数,这样我就可以使用用户的电子邮件来发送电子邮件。但它给了我这个错误:
call_user_func() expects parameter 1 to be a valid callback, array must have exactly two members
这就是问题所在
$message->to($user->email, $user->name)
改为
$message->to($user->email)
Mail::send()
接受 3 个参数(视图、数据、回调)但你给了它 4 个:
Mail::send('admin.mails.activate', $data, ['user'=>$user], function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
我假设您打算将 ['user' => $user]
数组与 $data
:
合并
Mail::send('admin.mails.activate', array_merge($data, ['user' => $user]), function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
或者:
$data = [
'title'=>'Some Title',
'content'=>'Content',
'email'=> 'email',
'password'=>'password',
'remarks'=>'remarks',
'user' => $user
];
Mail::send('admin.mails.activate', $data, function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
我正尝试在 laravel 中发送电子邮件,为此我正在使用 mail::send
函数。
这是我的代码:
$data = [
'title'=>'Some Title',
'content'=>'Content',
'email'=> 'email',
'password'=>'password',
'remarks'=>'remarks'
];
Mail::send('admin.mails.activate', $data, ['user'=>$user], function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
我试图将 $data 变量传递给视图文件,将 $user 变量传递给回调函数,这样我就可以使用用户的电子邮件来发送电子邮件。但它给了我这个错误:
call_user_func() expects parameter 1 to be a valid callback, array must have exactly two members
这就是问题所在
$message->to($user->email, $user->name)
改为
$message->to($user->email)
Mail::send()
接受 3 个参数(视图、数据、回调)但你给了它 4 个:
Mail::send('admin.mails.activate', $data, ['user'=>$user], function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
我假设您打算将 ['user' => $user]
数组与 $data
:
Mail::send('admin.mails.activate', array_merge($data, ['user' => $user]), function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});
或者:
$data = [
'title'=>'Some Title',
'content'=>'Content',
'email'=> 'email',
'password'=>'password',
'remarks'=>'remarks',
'user' => $user
];
Mail::send('admin.mails.activate', $data, function ($message) use ($user) {
$message->to($user->email, $user->name)->subject('Account Activation Email')->from('support@webmail.com');
});