Symfony2中的多个Swiftmailer实例
Symfony2使用捆绑包发送电子邮件 要在Symfony2中使用和配置Swiftmailer,必须使用文档中的配置,例如使用YAML:Symfony2中的多个Swiftmailer实例,symfony,swiftmailer,Symfony,Swiftmailer,Symfony2使用捆绑包发送电子邮件 要在Symfony2中使用和配置Swiftmailer,必须使用文档中的配置,例如使用YAML: swiftmailer: transport: smtp encryption: ssl auth_mode: login host: smtp.gmail.com username: your_username password: your_password Swiftmailer在S
swiftmailer:
transport: smtp
encryption: ssl
auth_mode: login
host: smtp.gmail.com
username: your_username
password: your_password
Swiftmailer在Symfony2中定义为服务,可在控制器中获得其实例,如下所示:
$mailerinstance = $this->get('mailer');
现在,让我们假设Swiftmailer需要两种不同的配置,例如,一种使用电子邮件假脱机(例如,预定的时事通讯),另一种立即发送所有新电子邮件(例如,密码丢失服务)。因此,我想应该定义Swiftmailer的两个独立实例如何在Symfony2中实现这一点?没有默认的symfony方式来拥有两个不同的实例。但是您可以创建一个扩展swiftmailer的新类,将其作为一个服务,并将不同的配置传递给父构造函数
swiftmailer:
default_mailer: second_mailer
mailers:
first_mailer:
# ...
second_mailer:
# ...
// ...
// returns the first mailer
$container->get('swiftmailer.mailer.first_mailer');
// also returns the second mailer since it is the default mailer
$container->get('swiftmailer.mailer');
// returns the second mailer
$container->get('swiftmailer.mailer.second_mailer');
真的吗?!?!天哪,这太疯狂了!顺便说一句我会听从你的建议!对于实体经理来说,应该有类似的东西!可以定义多个实体管理器。。。最好定义多个Swiftmailer实例!现在您可以使用swiftmailer v2.3.3+:我认为您缺少第二个配置行中的一个选项卡。2.1非常旧。你可能需要考虑更新。我找到了一种方法,创建不同的环境。由于我将为命令调用第二个帐户,只要在调用后添加--env=OTHER_env,就可以了。