formatd/mailer-queueadaptor

Neos.SwiftMailer 的邮件队列

dev-main 2022-08-11 18:13 UTC

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"