Laravel Email Database Log 使用指南
该指南将引导您了解并使用 shvetsgroup/laravel-email-database-log
这一开源项目,它专为记录通过 Laravel 网站发送的所有外出电子邮件而设计,确保每封邮件都有据可查。
1. 目录结构及介绍
Laravel Email Database Log 的基础架构简洁明了,以下是一些关键目录和文件的概述:
-
src: 包含核心功能代码,如服务提供者和服务类。
EmailLogger.php
: 实现具体日志记录逻辑的类。
-
config: 存放配置文件。
email_log.php
: 配置邮件数据库日志的相关设置,包括存储附件的磁盘驱动等。
-
composer.json: 项目依赖管理和定义文件,列出了所需的PHP包以及开发时的依赖。
-
README.md: 提供快速安装指导和基本使用说明。
-
LICENSE: 许可证文件,表明项目遵循MIT许可协议。
2. 项目启动文件介绍
在本项目中,并不存在一个特定的“启动文件”如同其他传统应用程序那样。但在Laravel框架内,其启动流程是由 Composer 自动管理的 vendor/autoload.php
文件开始,随后Laravel自己的启动过程会加载服务容器,并激活路由、中间件等。对于这个特定的扩展包,重要的是它的服务提供者(Service Provider)被注册,这通常是在您的 Laravel 应用中的 config/app.php
文件完成的。
3. 项目的配置文件介绍
配置文件:config/email_log.php
此配置文件是该项目的核心,允许您定制化邮件日志的行为。主要包含以下几个关键部分:
enabled
: 控制是否启用邮件日志记录的布尔值。table
: 定义用于存储邮件日志的数据库表名,默认为email_log
。attachment_folder
或disk
(取决于版本升级): 分别指定了邮件附件的存储路径或文件系统磁盘。较新版本推荐使用文件系统磁盘方式。- 在早期版本可能使用
'folder' => env('EMAIL_LOG_ATTACHMENT_FOLDER', 'email_log_attachments')
来指定本地路径。 - 升级到新版本后,应改为
'disk' => env('EMAIL_LOG_DISK', 'email_log_attachments')
, 并在config/filesystems.php
中配置相应的磁盘,如:'disks' => [ ... 'email_log_attachments' => [ 'driver' => 'local', 'root' => storage_path('app/email_log_attachments'), ], ... ],
- 在早期版本可能使用
- 其它选项: 可能还包括日志记录的详细程度、过滤规则等自定义设置。
安装与配置步骤简要回顾:
- 使用Composer添加依赖:
composer require shvetsgroup/laravel-email-database-log
. - 若Laravel版本低于5.5,则手动在
config/app.php
的providers
数组中加入服务提供商。 - 发布迁移文件并通过
php artisan migrate
执行数据库迁移以创建日志表。 - 如需定制配置,可修改
config/email_log.php
。
通过以上步骤,您即可成功集成并配置 Laravel Email Database Log,从而将所有通过应用发出的邮件记录到数据库中,便于跟踪和分析。