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.';
}
Ответы
Ответ 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.';
}