Symfony 2.3 Swiftmailer - 2 封电子邮件

Symfony 2.3 Swiftmailer - 2 e-mails

我在这里阅读了几篇文章,还阅读了有关如何在 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".

我该如何解决这个问题?

您不需要配置服务文件。

获取第一个邮件程序:

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

获取第二个邮件程序:

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

获取默认邮件:

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

请参阅 Using Multiple Mailers

的文档