Я работаю над проектом 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 есть параметры конфигурации.
Как я могу это сделать ? и как я могу получить параметры, которые я хочу, указав имя отправителя?
Не совсем то, что вам нужно, поскольку на самом деле он не определяет почтовую программу в файле 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);
Других решений пока нет …