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

2022-01-08 00:00:00 php laravel laravel-4

我正在尝试发送电子邮件并在需要时显示任何错误.以下代码正在发送电子邮件,我收到它就好了.但问题是,当我检查 $sent var 时,它对我返回 false.

I am trying to send a email and show any errors if needed. The following code is sending a email and I am receiving it just fine. The issue though, is that when I do the check on the $sent var, it returns false for me.

我只是在这里遗漏了什么吗?可能是因为晚了.谁知道...

Am I just missing something here? It might be because it's late. Who knows...

$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.';
}

推荐答案

Mail::send() 方法不返回任何内容.

The Mail::send() method doesn't return anything.

您可以使用 Mail::failures()(我认为在 4.1 中引入)方法来获取失败的收件人数组,在您的代码中它看起来像这样.

You can use the Mail::failures() (introduced in 4.1 I think) method to get an array of failed recipients, in your code it would look something like this.

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.';
}

相关文章