Symfony 2.3 Swiftmailer - 2封电子邮件

时间:2016-06-21 18:50:07

标签: php symfony swiftmailer

我在这里阅读了几篇文章以及如何在swiftmailer中包含2个不同的电子邮件的文档,但我收到错误并且不知道为什么。

这是我的配置:

//config.yml
swiftmailer:
    default_mailer: mailer
    mailers:
        mailer:
            transport: smtp
            host:      some.host1
            username:  some.username1
            password:  some.password2
        mailer2:
            transport: gmail
            host:      some.host2
            username:  some.username2
            password:  some.password2

我还创建了一个服务文件:

# app/config/services.yml
    services:
        mailer:
            class:        AppBundle\Mailer
            arguments:    [sendmail]
        mailer2:
            class:        AppBundle\Mailer
            arguments:    [sendmail]

在控制器中,我指的是:

$mailer = $this->get('mailer2');

//or

$mailer = $this->get('mailer');

但只有默认邮件程序有效。如果是第二封邮件,我得到:

You have requested a non-existent service "mailer2".

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无需配置服务文件。

获取第一封邮件:

$container->get('swiftmailer.mailer.mailer');

要获得第二封邮件:

$container->get('swiftmailer.mailer.mailer2');

获取默认邮件程序:

$container->get('swiftmailer.mailer');

请参阅Using Multiple Mailers

的文档