Example #1
0
 /**
  * @inheritdoc
  */
 protected function createTransport(array $config)
 {
     try {
         $this->_settings = Instance::ensure(Yii::$app->settings, Settings::className());
     } catch (InvalidConfigException $ex) {
         Yii::error("Couldn't load settings component! Fallback to standard mailer");
         $config['class'] = 'Swift_MailTransport';
         return parent::createTransport($config);
     }
     if ($this->_settings->get('email', 'is_smtp', false)) {
         $config['class'] = 'Swift_SmtpTransport';
         $config['host'] = $this->_settings->get('email', 'host', $config['host']);
         $config['port'] = $this->_settings->get('email', 'port', $config['port']);
         $config['username'] = $this->_settings->get('email', 'username', $config['username']);
         $config['password'] = $this->_settings->get('email', 'password', $config['password']);
         $config['encryption'] = $this->_settings->get('email', 'encryption', $config['encryption']);
     } else {
         $config['class'] = 'Swift_MailTransport';
     }
     return parent::createTransport($config);
 }