Laravel отправка электронной почты call_user_func () ошибка - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь отправить письмо в 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');
      });

Я пытаюсь передать данные $переменная для файла представления и переменная $ user для функции обратного вызова, чтобы я мог использовать электронную почту пользователя для отправки электронной почты.Но это дает мне эту ошибку:

    call_user_func() expects parameter 1 to be a valid callback, array must have exactly two members 

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

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');
});
0 голосов
/ 25 сентября 2018

это проблема

$message->to($user->email, $user->name)

изменить его на

$message->to($user->email)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...