Laravel Mail 发送电子邮件,但返回 false

2022-08-30 20:34:44

我正在尝试发送电子邮件并在需要时显示任何错误。下面的代码正在发送电子邮件,我收到它很好。但问题是,当我对$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.';
}

答案 2

推荐