Параметры Factories.yml для нескольких экземпляров почтовой программы в Symfony 1.4
Я работаю над проектом Symfony 1.4, это фабрики.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 с разными параметрами, и для каждого экземпляра на заводах есть параметры конфигурации.файл yml.
Как я могу это сделать? и как я могу получить нужные параметры, указав имя отправителя?
2
1 answers
Не совсем то, что вам нужно, так как на самом деле он не определяет почтовое средство в файле 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);
1
Author: mixkat, 2015-04-01 13:28:49