Подтвердить что ты не робот

Laravel Mail отправляет электронную почту, но возвращает false

Я пытаюсь отправить электронное письмо и при необходимости показывать любые ошибки. Следующий код отправляет электронное письмо, и я получаю его в порядке. Проблема в том, что, когда я делаю проверку на $sent var, он возвращает false для меня.

Я просто что-то пропустил? Может быть, потому что поздно. Кто знает...

$sent = Mail::send('emails.users.reset', compact('user', 'code'), function($m) use ($user)
{
    $m->to($user->email)->subject('Activate Your Account');
});

if( ! $sent)
{
    $errors = 'Failed to send password reset email, please try again.';
}
4b9b3361

Ответ 1

Метод Mail:: send() ничего не возвращает.

Вы можете использовать метод Mail:: failures() (представленный в 4.1, я думаю), чтобы получить массив неудачных получателей, в вашем коде он будет выглядеть примерно так.

Mail::send('emails.users.reset', compact('user', 'code'), function($m) use ($user)
{
    $m->to($user->email)->subject('Activate Your Account');
});

if(count(Mail::failures()) > 0){
    $errors = 'Failed to send password reset email, please try again.';
}