paneedesign / database-swiftmailer-bundle
SwiftMailer 和 Symfony 3 的数据库队列扩展包
v3.0.0-beta.1
2021-05-19 07:07 UTC
Requires
- php: ^7.2.0
- doctrine/persistence: ^2.0
- symfony/flex: ^1.6
Requires (Dev)
- doctrine/annotations: ^1.8
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.7
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpdoc-parser: ^0.4.2
- phpstan/phpstan: ^0.12.7
- phpstan/phpstan-doctrine: ^0.12.9
- phpstan/phpstan-phpunit: ^0.12.6
- phpstan/phpstan-symfony: ^0.12.4
- phpunit/phpunit: ^8.5
- symfony/browser-kit: ^4.3|^5.0
- symfony/config: ^4.3|^5.0
- symfony/dependency-injection: ^4.3|^5.0
- symfony/expression-language: ^4.3|^5.0
- symfony/form: ^4.3|^5.0
- symfony/framework-bundle: ^4.3|^5.0
- symfony/http-kernel: ^4.3|^5.0
- symfony/phpunit-bridge: ^5.0
- symfony/swiftmailer-bundle: ^3.2
- symfony/yaml: ^4.3|^5.0
- vimeo/psalm: ^3.8
Conflicts
- symfony/symfony: ^4.3|^5.0
This package is auto-updated.
Last update: 2024-09-05 20:38:25 UTC
README
简介
此包为您的 Symfony 3 项目添加一个数据库驱动的 SwiftMailer 队列。它需要 Symfony 3.0+ 及 Doctrine ORM 的实体使用。
特性
- 自动重试:设置队列在失败时尝试发送的最大重试次数
- 仪表板以列出邮件队列并执行一些操作
- 重试发送邮件
- 取消发送邮件
- 重新发送邮件
安装
添加 composer
在 composer.json 中添加依赖
"require": { ... "paneedesign/database-swiftmailer-bundle" : "dev-master" }
在 kernel 中添加包类
在 AppKernel.php 中注册包类及其依赖
public function registerBundles() { $bundles = array( ... new PaneeDesign\DatabaseSwiftMailerBundle\PedDatabaseSwiftMailerBundle(), ... ); }
添加路由
如果您想要一个队列仪表板,请添加以下路由。
ped_database_swift_mailer: resource: "@PedDatabaseSwiftMailerBundle/Controller/" type: annotation prefix: /
配置
更新数据库
更新数据库模式以创建必要的实体。
$ php bin/console doctrine:schema:update --force
更新 SwiftMailer 配置
在 config.yml 中将队列类型从内存更改为数据库
spool: { type: db }
覆盖默认模板
您可能想覆盖默认模板以使其具有您应用程序的外观和感觉。您可以按照官方 Symfony 文档操作:https://symfony.com.cn/doc/3.4/templating/overriding.html
运行
要发送数据库队列中的邮件,只需运行以下命令
$ php bin/console swiftmailer:spool:send
您可以在 cron 任务中添加条目以定期运行它。
您可以通过 http://your_project_url/email-spool 查看队列状态以及所有邮件
待办事项列表
- 过滤邮件
- 达到最大重试次数后插入错误信息
- 上次运行日期
- 总发送次数
许可
MIT