If you want to use different settings for Swiftmailer when sending emails then you can use example below. It gets the data from database and uses them instead.


Settings


Assume that you already have default settings in parameters.yml file but you don't want to use them.


$host = // Coming from database
$port = // Coming from database
$user = // Coming from database
$pswd = // Coming from database

$transport = \Swift_SmtpTransport::newInstance($host, $port)
->setUsername($user)
->setPassword($pswd)
;

$this->mailer = \Swift_Mailer::newInstance($transport);

$order = // Database object

$message = \Swift_Message::newInstance()
->setSubject($order->getSubject())
->setFrom($order->getFrom())
->setTo($order->getTo())
->setBody($order->content)
;

$this->mailer->send($message);