我正在做一个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 Mailer不同的参数,对于每个实例,factories.yml文件中都有配置参数。
我该怎么做?以及我如何通过提供邮递员的姓名来获得我想要的参数?
不完全是你想要的,因为它实际上并没有在yml文件中定义mailer,但你可以通过实例化一个新的mailer来实现类似的行为(这里是一个sendgrid的例子):
$transport = Swift_SmtpTransport::newInstance('smtp.sendgrid.net');
$transport->setUsername('YOU USERNAME');
$transport->setPassword('YOUR PASSWORD');
$swift = Swift_Mailer::newInstance($transport);
$swift->send($message);