5
代碼默認發送電子郵件時工作得很好,但是我想發送電子郵件之前覆蓋SwiftMailer運輸方案(主機,用戶和密碼),選項將是未來數據庫。重寫Swiftmailer交通選擇動態,而不是使用parameters.yml選項下面
任何人都知道如何做到這一點?
注:我去通this post但聽者沒有做任何事情和OP的解決方案具有當我放棄它不出現在我的$傳輸對象$transport->getExtensionHandlers();
方法。
作曲進入
"symfony/swiftmailer-bundle": "2.1.*"
/booking/app/config/parameters.yml
parameters:
mailer_transport: gmail
mailer_host: smtp.gmail.com
mailer_user: vizzzzz
mailer_password: 123123
/booking/app/config/config.yml
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
encryption: tls
控制器
$hostDb = $dbObject->getHost();
$userDb = $dbObject->getUser();
$passwordDb = $dbObject->getPassword();
// then I should override setting here so that the data coming from parameters.yml is overriden
$order = // database object
$message = \Swift_Message::newInstance()
->setSubject($order->getSubject())
->setFrom($order->getFrom())
->setTo($order->getTo())
->setBody($content)
;
$this->mailer->send($message);