resohead / laravel-test-mail
使用Laravel应用中的命令快速发送测试邮件
v2.0.0
2022-03-26 23:10 UTC
Requires
- php: ^8.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^6.0 || ^7.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-27 04:41:04 UTC
README
这是一个简单的包,用于在Laravel应用中通过 artisan 命令发送测试邮件。非常适合在无需任何设置的情况下检查邮件和队列配置。
安装
您可以通过 composer 安装此包
composer require resohead/laravel-test-mail
该包将自动注册自己。
可选:发布配置文件以启用预设
php artisan vendor:publish --provider="Resohead\LaravelTestMail\LaravelTestMailServiceProvider" --tag="config"
基本用法
要发送测试邮件,请运行以下 artisan 命令
php artisan mail:test
默认情况下,这将
- 发送到您在邮件配置中定义的“from”地址,
- 使用您的默认邮件驱动程序,
- 同步处理
您还可以在命令签名中指定四个其他选项
- 设置电子邮件地址,
- 更改邮件驱动程序,
- 启用队列(并设置队列名称),
- 更改队列连接,
- 选择预设
更改邮件驱动程序并通过队列运行可能需要启动/重置队列工作进程。
命令行选项
发送到指定的电子邮件地址
php artisan mail:test name@example.com
在默认队列上发送到指定的电子邮件地址
php artisan mail:test name@example.com --queue
通过日志驱动程序发送
php artisan mail:test --driver=log
在默认连接上发送到“emails”队列
php artisan mail:test --stack=emails
当使用 stack 参数时,无需设置 --queue 标志
使用“sqs”队列连接发送
php artisan mail:test --connection=sqs
当使用连接参数时,无需设置 --queue 标志
通过“emails”队列在“redis”连接上使用 SMTP 驱动程序发送
php artisan mail:test name@example.com --driver=smtp --connection=redis --stack=emails
队列
如果您使用连接选项,可能需要启动您的队列,例如
php artisan queue:work sqs --queue:emails
预设
您还可以配置预设以分组命令行选项。每个预设中定义的值将与命令行值以及您的默认邮件和队列配置合并。
示例配置\mail-test.php
'presets' => [
'example1' => [
'recipient' => 'preset1@example.com',
'queue' => true
],
'example2' => [
'driver' => 'log',
'stack' => 'emails'
],
'example3' => [
'recipient' => env('EMAIL_TO', 'preset3@example.com'),
'driver' => 'smtp',
'connection' => 'redis',
'stack' => 'notifications'
],
]
预设:示例 1
设置特定的电子邮件地址并使用默认队列
php artisan mail:test --preset=example1
// php artisan mail:test preset1@example.com --queue
预设:示例 2
使用日志邮件驱动程序和电子邮件队列
php artisan mail:test --preset=example2
// php artisan mail:test --driver=log --stack=emails
预设:示例 3
使用日志邮件驱动程序和电子邮件队列
php artisan mail:test --preset=example3
// php artisan mail:test preset3@example.com --driver=smtp --connection=redis --stack=notifications
替代方案
这是一个简单包,旨在快速触发邮件以检查您的配置。
如果您想检查电子邮件在浏览器中的外观,请使用 Laravel 文档来渲染 mailables(自 Laravel 5.5 以来可用)。
如果您需要一个包来使用模拟数据发送 mailable,请尝试使用 Spatie 的 laravel-mailable-test 包。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件