我正在尝试在symfony中定义一个自定义的SwiftMailer传输作为服务,除了服务定义之外,我几乎得到了它。下面的XML来自Swiftmailer-Mailgun-bundle,这是有效的,但是我们应用程序中的所有配置都在YML中,下面的XML的YAML版本是什么?
<service id="mailgun.swift_transport.transport" class="cspooSwiftmailerMailgunBundleServiceMailgunTransport" public="true">
<argument></argument>
<argument type="service" id="mailgun.library"></argument>
<argument>%mailgun.domain%</argument>
</service>
它有点,我不知道你是如何在 YAML 中做到这一点的。
自己想通了。查看mailgun捆绑包中的代码,它有一个名为cspooSwiftmailerMailgunExtension的类,它装饰服务定义,将XML中定义的这个空白参数定义为mailgun.swift_transport.eventdispatcher的一种类型,所以可以肯定的是,将其添加到配置中似乎已经修复了它。
swiftmailer.mailer.transport.engage_mailgun:
class: fooWebsiteBundleSwiftMailercustomMailgunTransport
arguments: ['@mailgun.swift_transport.eventdispatcher','@mailgun.library','testdomain.com']
以为我会发布解决方案,以防其他人遇到它。