【问题标题】:Setting default_mailer for Swiftmailer in Symfony2 not working在 Symfony2 中为 Swiftmailer 设置 default_mailer 不起作用
【发布时间】:2016-04-25 18:06:46
【问题描述】:

我正在使用 SwiftmailerBundle 2.3.8 附带的 Symfony 2.7。

这是我的配置

swiftmailer:
    mailers:
        spool_mailer:
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"
            spool:
                type: file
                path: %kernel.root_dir%/spool

        instant_mailer:
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"
    default_mailer: spool_mailer

我想使用 2 个邮件,一个用于假脱机,一个用于即时发送。

这两个命令可以正常工作,电子邮件要么被假脱机,要么立即发送。

 $this->get('swiftmailer.mailer.instant_mailer')->send($email);
 $this->get('swiftmailer.mailer.spool_mailer')->send($email);

然而,

  $this->get('mailer')->send($email);

不获取default_mailer,在我的情况下它是假脱机程序,但它会立即发送。我已经看到here 说这是可能的,但也许那个答案是不正确的。

我是否遗漏了配置文件中的某些内容?还是我说的不对?

【问题讨论】:

  • 真的不知道为什么,但我已经看到在定义邮件程序的上方声明default_mailer: spool_mailer 行就可以了。我也没有任何支持文档。但我相信它值得一试。

标签: php symfony swiftmailer spooler


【解决方案1】:

即使使用 symfony 2.6.8 版,我也遇到了同样的问题。 我目前找到的唯一解决方案是:删除default_mailer参数,并使用这样的名称设置默认邮件,即:default。 所以你的配置是这样的:

swiftmailer:
    mailers:
        default: # your named spool_mailer
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"
            spool:
                type: file
                path: %kernel.root_dir%/spool

        instant_mailer:
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"

现在从 $this->getContainer()->get('swiftmailer.mailer') 得到的对象;将被定义为 default 并且不会再显示类似的错误:

[Swift_TransportException]                                                         
  Connection could not be established with host localhost [Connection refused #111] 

此配置在我目前正在处理的项目中对我有用。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    相关资源
    最近更新 更多