formatd / mailer-queueadaptor
Neos.SwiftMailer 的邮件队列
dev-main
2022-08-11 18:13 UTC
Requires
- cweagans/composer-patches: ^1.7
- flowpack/jobqueue-common: ^3.1 || ^3.2 || ^3.3
- formatd/mailer: ~v1.1.4
- neos/flow: *
This package is auto-updated.
Last update: 2024-09-11 22:33:20 UTC
README
此包更改了 Neos 的邮件发送方式(neos/swiftmailer),使其通过队列异步发送邮件。目的是使其成为系统生成每个邮件的即插即用替代品。
免责声明
此包仅是一个概念验证,需要为 neos/swiftmailer
打补丁才能工作(包含在此包中并由 cweagans/composer-patches
自动应用)。补丁是必要的,因为 neos/swiftmailer
的消息对象无法序列化。补丁将实现从继承更改为装饰器模式。
设置
选择队列后端
此包使用 flowpack/jobqueue-common (https://github.com/Flowpack/jobqueue-common) 来设置邮件队列。您可以选择您喜欢的后端,通过 composer 安装它,然后覆盖配置中的 className
Flowpack:
JobQueue:
Common:
queues:
'fdmailer-mail-queue':
className: 'Flowpack\JobQueue\Doctrine\Queue\DoctrineQueue'
要使用默认的 db 后端,请安装 flowpack/jobqueue-doctrine
。
设置队列
必须使用此命令设置队列。有关详细信息,请参阅此处文档:https://github.com/Flowpack/jobqueue-common。
./flow queue:setup fdmailer-mail-queue
启动队列工作进程
完成这些步骤后,邮件将被放入队列,而不是在请求期间直接发送。要发送队列中的邮件,请在 CLI 上运行工作进程 cronjob
# work on max 25 jobs in max 50 sec
./flow job:work fdmailer-mail-queue --limit 25 --exitAfter 50
现在测试是否正常工作
./flow email:send --body "Hello World" from@example.com to@example.com "My Test Mail"