You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel邮件错误页面自定义:替换Swift_TransportException报错页

自定义Laravel邮件发送错误页面的实现方案

要替换Laravel默认的邮件发送错误页面,我们可以通过捕获特定异常并返回自定义视图的方式来实现,具体操作如下:

  • 第一步:修改异常处理器
    打开app/Exceptions/Handler.php文件,首先引入邮件异常类:

    use Swift_TransportException;
    

    然后在render方法中添加异常捕获逻辑,当触发Swift_TransportException时返回自定义视图:

    public function render($request, Throwable $exception)
    {
        // 捕获邮件发送相关异常
        if ($exception instanceof Swift_TransportException) {
            // 获取核心错误信息
            $errorContent = $exception->getMessage();
            // 返回自定义错误视图,传递错误内容
            return response()->view('errors.mail', [
                'error' => $errorContent
            ], 500);
        }
    
        return parent::render($request, $exception);
    }
    
  • 第二步:创建自定义错误视图
    在resources/views/errors目录下新建mail.blade.php文件,写入包含自定义页眉、页脚的页面结构:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>邮件发送错误</title>
        <style>
            .custom-header { padding: 1.5rem; background-color: #f0f4f8; border-bottom: 1px solid #e2e8f0; }
            .error-container { max-width: 700px; margin: 2rem auto; padding: 0 1rem; }
            .error-content { padding: 1.5rem; background-color: #fee2e2; border-radius: 6px; color: #dc2626; }
            .custom-footer { margin-top: 3rem; padding: 1.5rem; background-color: #f0f4f8; border-top: 1px solid #e2e8f0; text-align: center; }
        </style>
    </head>
    <body>
        <div class="custom-header">
            <h1>My header</h1>
        </div>
        <div class="error-container">
            <div class="error-content">
                {{ $error }}
            </div>
        </div>
        <div class="custom-footer">
            <p>My footer</p>
        </div>
    </body>
    </html>
    

    这里的{{ $error }}会自动渲染你需要的核心错误信息:(1/1) Swift_TransportException Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials u13sm7041792wre.52 - gsmtp "

  • 第三步:测试验证
    当邮件发送出现凭证错误等Swift_TransportException异常时,系统会自动跳转到这个自定义页面,展示你设置的页眉、页脚和核心错误内容,完全替换默认的报错页面。

内容的提问来源于stack exchange,提问作者paranoid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:57:15