我正在研究Symfony 1.4项目,这是默认邮件程序的factories.yml:
mailer:
class: sfMailer
param:
logging: %SF_LOGGING_ENABLED%
charset: %SF_CHARSET%
delivery_strategy: realtime
transport:
class: Swift_SmtpTransport
param:
host: 127.0.0.1
port: 25
encryption: ~
username: ~
password: ~
这是PHP代码:
$config = sfFactoryConfigHandler::getConfiguration($applicationConfiguration->getConfigPaths('config/factories.yml'));
self::$mailer = new $config['mailer']['class']($applicationConfiguration->getEventDispatcher(), $config['mailer']['param']);
$config['mailer']['class']
是sfMailer。
我想要的是使用不同的参数来攻击许多Swift Mailers,并且对于每个实例,在factories.yml文件中都有配置参数。
我该怎么做?如何通过提供邮件的名称来获得我想要的参数?
答案 0 :(得分:1)
由于它实际上并没有在yml文件中定义邮件程序,所以不是你想要的,但你可以通过实例化一个新的邮件程序来实现类似的行为(这里是sendgrid的一个例子):
$transport = Swift_SmtpTransport::newInstance('smtp.sendgrid.net');
$transport->setUsername('YOU USERNAME');
$transport->setPassword('YOUR PASSWORD');
$swift = Swift_Mailer::newInstance($transport);
$swift->send($message);