0

0

Laravel 邮件推送系统异常

藏色散人

藏色散人

发布时间:2019-11-04 13:27:01

|

3406人浏览过

|

来源于learnku

转载

Laravel 邮件推送系统异常

前言:

在日常开发中,我们可能会写出一些 bug,但是项目已经上线了,我们无法第一时间得到客户的反馈,这时候邮件报错系统就派上用场了,我们都知道 laravel 的异常处理都需要通过 Handler.php 文件来处理,那么就从此处开始入手

1、在 report 的方法里判断是否需要发送邮件,代码如下:

public function report(Exception $exception)
{
    //判断是否需要发送邮件
    if (config('mail.mailException.report')) {
        $this->mailReport($exception, config('mail.mailException.toAccounts', []));
    }
    parent::report($exception);
}

2、定义一个发送邮件的方法,代码如下:

/**
 * 邮件通知错误报告.
 *
 * @param $exception object 错误信息
 * @param array $accounts array 收件人
 */
public function mailReport($exception, $accounts = [])
{
    if (!empty($accounts)) {
        try {
            $e       = FlattenException::create($exception);
            $handler = new SymfonyExceptionHandler();
            $html    = $handler->getHtml($e);
            $mail    = new Mail();
            $mail::to($accounts)->send(new ExceptionReport($html));
        } catch (Exception $ex) {
        }
    }
}

3、新建一个邮件异常类,放在 App 下的 Mail 文件夹中,名为:ExceptionReport.php,代码如下:

exception = $exception;
    }
    /**
     * build一个异常发送模板
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('mail.exception')->with(['content' => $this->exception]);
    }
}

4、新建一个异常发送的模板视图,在 View 下新建一个 mail 文件夹,创建名为:exception.blade.php 的视图模板文件,代码如下:

贞龙网店商城电子商务系统java版
贞龙网店商城电子商务系统java版

BIZOSS-B2C是脱胎于贞龙B2B大型平台的网上商城系统、网上商店系统、网上购物系统的企业级B2C电子商务解决方案。系统设置:这里包含了网店的常用功能和全局配置的开关。包括 商店设置 、支付方式和配送方式 、邮件服务器设置、地区列表、友情链接、自定义导航栏、站点地图。商品管理:网店展示商品的核心。其中包括了 商品分类、商品类型、商品品牌、商品回收站、商品上下架等一些设置。促销管理:这个是我们网

下载
{!! $content !!}

5、在 config 下配置需要发送邮件的人员和是否发送的开关,在最末尾加上以下代码:

  'mailException' => [
        'report' => env('MailExceptionReport', 0),//是否邮件通知错误报告
        'toAccounts' => [
            'guifeng.liang@zun1.com',
        ]
    ] ,

6、在.env 文件中配置好邮箱发送系统的信息,格式如下:

 //邮件驱动
 MAIL_DRIVER=smtp
 //邮件服务器
 MAIL_HOST=smtp.exmail.qq.com
 //邮件端口
 MAIL_PORT=465
 //邮箱用户名
 MAIL_USERNAME=1231231@qq.com
 //邮箱密码
MAIL_PASSWORD=dasdasdadasdad
//加密方式
MAIL_ENCRYPTION=ssl
//发件人邮箱
MAIL_FROM_ADDRESS=1476982312@qq.com
//发件人姓名
MAIL_FROM_NAME=犯二青年
//是否发送邮件,发送为1,不发送为0
MailExceptionReport=1

7、到此差不多了,测试一下,随便写点报错,然后请求接口看是否会为您配置的邮箱发送邮件,结果图如下:

3177c2b554a20866bac2d71cba447cb.png

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Laravel---API接口
Laravel---API接口

共7课时 | 0.6万人学习

PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

PHP面向对象基础课程(更新中)
PHP面向对象基础课程(更新中)

共12课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号