Symfony2中的Swiftmailer的多个实例

Jea*_*ean 6 swiftmailer symfony

Symfony2使用Swiftmailer包发送电子邮件.

要在Symfony2中使用和配置Swiftmailer,必须使用文档中说明的配置,例如使用YAML:

swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    host:       smtp.gmail.com
    username:   your_username
    password:   your_password
Run Code Online (Sandbox Code Playgroud)

Swiftmailer在Symfony2中定义为服务,它的实例可以在控制器中获得,如下所示:

$mailerinstance = $this->get('mailer');
Run Code Online (Sandbox Code Playgroud)

现在,让我们假设Swiftmailer需要两种不同的配置,例如使用电子邮件假脱机(例如用于预定的时事通讯)和另一种立即发送所有新电子邮件(例如用于密码丢失服务)的配置.因此,我想应该定义Swiftmailer的两个独立实例.我怎么能在Symfony2中做到这一点?

Has*_*ast 7

没有默认的symfony方式来拥有2个不同的实例.但是你可以创建一个扩展swiftmailer的新类,使它成为一个服务,并将你的不同配置传递给父构造函数.