Symfony 1.4中多个Mailer实例的Factories.yml参数

时间:2015-03-18 14:31:21

标签: php symfony-1.4 swiftmailer mailer

我正在研究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文件中都有配置参数。

我该怎么做?如何通过提供邮件的名称来获得我想要的参数?

1 个答案:

答案 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);