自从我在二月份开始与 Sylius 合作以来,我在电子商务流程的任何步骤中都没有收到过电子邮件。不是在注册时,不是在订单完成时。
现在我假设根本不支持这一点,我开始编写自己的邮件程序,它接受订单和用户对象来填写邮件。今天我发现其中有一个 Mailer,SyliusCoreBundle
它根本无法发送任何电子邮件。
手动调用SwiftMailer
发送电子邮件就好了——它甚至将它发送到在config_dev.yml
开发环境中定义的开发人员电子邮件地址。
这给我带来了两个问题:
- Sylius Mailer 怎么可能无法正常运行?
- 当订单完成或用户注册新帐户时,如何最好地添加自己的邮件功能?
我看过“如何覆盖 Sylius 电子邮件系统”,它为第二个问题提供了一个潜在的解决方案,想知道这是否是可行的方法。
编辑:我正在使用 Sylius 0.10.0x 似乎已sylius.checkout.finalize.complete
被解雇,尽管此时它从未发送邮件。当我在其他地方手动调用它时会这样做:
xxx.listener.order.confirmation:
class: Xxx\Bundle\CoreBundle\EventListener\OrderListener
arguments:
- @xxx.mailer
tags:
- { name: kernel.event_listener, event: sylius.checkout.finalize.complete, method: processOrderConfirmation }