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

时间:2014-07-16 05:01:56

标签: php laravel laravel-4

我正在尝试发送电子邮件并在需要时显示任何错误。以下代码正在发送电子邮件,我收到它就好了。但问题是,当我对$ 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 个答案:

答案 0 :(得分:35)

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