2015-03-18 3 views
2

Я работаю над проектом 1.4 Symfony, это factories.yml из почтовой программы по умолчанию:параметры factories.yml для нескольких экземпляров Mailer в Symfony 1,4

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 с различными параметрами, и для каждого экземпляра есть параметры конфигурации в файле factory.yml.

Как я могу это сделать? и как я могу получить параметры, которые я хочу, предоставив имя почтовой программы?

ответ

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); 
+0

Спасибо вам, это тоже полезно :) +1 Лучший ответ – SmootQ

 Смежные вопросы

  • Нет связанных вопросов^_^