在Laravel Fortify中处理失败的邮件:仅记录错误500

1cklez4t  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(76)

在我的Laravel Fortify应用程序中,我面临着处理失败邮件发送的问题。具体地,当发送电子邮件的尝试失败时,它触发错误500响应,这从用户体验的Angular 来看是不期望的。
我想改进电子邮件发送失败的处理,以防止错误500响应。相反,我的目标是优雅地处理这些错误并将其记录下来以供进一步调查。我的目标是显示一个用户友好的消息,表明电子邮件无法发送,而不向用户透露具体的错误细节。
为了实现这一点,我需要实现一个解决方案,允许应用程序继续用户注册或其他过程,即使电子邮件发送遇到问题。我想记录与电子邮件发送相关的任何错误,而应用程序保持平稳运行,并向用户显示有关电子邮件验证或其他电子邮件相关功能的有意义的反馈。
我在用Fortify进行认证
在Fortify操作中添加try catch,期望它捕获邮件错误,但它没有。

kb5ga3dv

kb5ga3dv1#

在Laravel Fortify中,可以使用Laravel提供的内置通知系统来处理失败的邮件。若要仅记录邮件传递失败的错误500响应,可以自定义邮件通知并在notification类的failed方法中实现日志记录逻辑。

public function failed($notifiable, $exception)
{
    // Log only if the response status code is 500 (internal server error)
    if ($exception->response->status() === 500) {
        Log::error('Failed to send mail: ' . $exception->getMessage());
    }
}

字符串

相关问题