Laravel 没有像 Django 一样内置发送异常邮件的功能,而这个功能非常实用,特别是
- 服务比较多的情况下,不可能每个服务都去线上查看日志
- 节假日可以及时接收服务异常信息
环境 Laravel 5.5
具体的代码实现,参考下面的一个链接里的文章。
163 邮箱的配置
.env 配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=xxx@163.com
MAIL_PASSWORD=xxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=xxx@163.com
MAIL_FROM_NAME=xxx
模拟一个异常,会发现异常邮件发送失败,报错信息是
530 5.7.1 Authentication required
清除配置缓存
php artisan config:clear
并重启 php artisan serve
即可
邮箱地址白名单
默认,此类邮件会被默认归类到垃圾邮件中。所以不要忘记把发邮件地址加入到白名单中。
这不是一个很好的解决方案
这种做法有一个非常大的隐患,因为错误日志不是异步发送的,所以在邮件服务不稳定,或者错误信息量大时,会导致业务逻辑阻塞。所以,强烈不推荐这种做法。可以自己写个定时任务,扫描日志,然后异步发送报错邮件。
参考
- https://laravel-news.com/email-on-error-exceptions
微信关注我哦 👍
我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式