Example #1
0
 /**
  * @inheritdoc
  */
 public function compose($view = null, array $params = array())
 {
     if (isset(Yii::$app->params['local']['emailFrom'])) {
         return parent::compose($view, $params)->setFrom(Yii::$app->params['local']['emailFrom']);
     }
     return parent::compose();
 }
Example #2
0
 /**
  * @param MessageInterface $message
  * @return boolean
  */
 public function send($message)
 {
     $result = parent::send($message);
     //Send mail
     $this->crearLog($result, $message);
     return $result;
 }
Example #3
0
File: Mailer.php Project: gtyd/jira
 public function __construct($config = [])
 {
     $this->email_cfg = \mysoft\pubservice\Conf::getConfig('site_email');
     $this->email_cfg = json_decode($this->email_cfg, true);
     $config = array_merge($this->email_cfg, $config);
     parent::__construct($config);
 }
Example #4
0
 /**
  * @param null $view
  * @param array $params
  * @return Message
  */
 public function compose($view = null, array $params = [])
 {
     $message = parent::compose($view, $params);
     if ($message instanceof Message) {
         $message->view = $view;
     }
     return $message;
 }
Example #5
0
 protected function sendMessage($message)
 {
     if ($this->useSpool === true) {
         return $this->spool->queueMessage($message->getSwiftMessage());
     } else {
         return parent::sendMessage($message);
     }
 }
Example #6
0
 /**
  * @inheritdoc
  */
 public function __construct($config = [])
 {
     parent::__construct($config);
     $this->componentConfig = $mailConfig = \Yii::$app->getModule('core')->emailConfig;
     $_config = ['class' => $mailConfig['transport']];
     if ('Swift_SmtpTransport' === $mailConfig['transport']) {
         $_config['host'] = $mailConfig['host'];
         $_config['username'] = $mailConfig['username'];
         $_config['password'] = $mailConfig['password'];
         $_config['port'] = $mailConfig['port'];
         $_config['encryption'] = $mailConfig['encryption'];
     } elseif ('Swift_SendmailTransport' === $mailConfig['transport']) {
         $_config['command'] = $mailConfig['sendMail'];
     }
     $this->setTransport($_config);
 }
Example #7
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);
 }
 public function testGetSwiftMailer()
 {
     $mailer = new Mailer();
     $this->assertTrue(is_object($mailer->getSwiftMailer()), 'Unable to get Swift mailer instance!');
 }
Example #9
0
 /**
  * Initializes the MailQueue component.
  */
 public function init()
 {
     parent::init();
 }
 /**
  * @return array|string|\yii\web\Response
  */
 public function actionMailer()
 {
     $config = Configuration::get();
     $param = Configuration::getParam();
     $mailer = new MailerForm();
     if ($mailer->load(Yii::$app->request->post())) {
         if (Yii::$app->request->isAjax) {
             Yii::$app->response->format = Response::FORMAT_JSON;
             return ActiveForm::validate($mailer);
         }
         if ($mailer->validate()) {
             if ($mailer->useTransport === '0') {
                 $mailer->useTransport = FALSE;
             } else {
                 $mailer->useTransport = TRUE;
             }
             // Write Config
             $config['components']['mail']['class'] = Mailer::className();
             $config['components']['mail']['useTransport'] = $mailer->useTransport;
             $config['components']['mail']['transport']['class'] = 'Swift_SmtpTransport';
             $config['components']['mail']['transport']['host'] = $mailer->host;
             $config['components']['mail']['transport']['username'] = $mailer->username;
             $config['components']['mail']['transport']['password'] = $mailer->password;
             $config['components']['mail']['transport']['port'] = $mailer->port;
             $config['components']['mail']['transport']['encryption'] = $mailer->encryption;
             // Write config for future use
             $param['installer']['mail']['useTransport'] = $mailer->useTransport;
             $param['installer']['mail']['transport']['host'] = $mailer->host;
             $param['installer']['mail']['transport']['username'] = $mailer->username;
             $param['installer']['mail']['transport']['password'] = $mailer->password;
             $param['installer']['mail']['transport']['port'] = $mailer->port;
             $param['installer']['mail']['transport']['encryption'] = $mailer->encryption;
             Configuration::set($config);
             Configuration::setParam($param);
             return $this->redirect(Yii::$app->urlManager->createUrl('//installer/setup/init'));
         }
     } else {
         if (isset($param['installer']['mail']['transport']['host'])) {
             $mailer->host = $param['installer']['mail']['transport']['host'];
         }
         if (isset($param['installer']['mail']['transport']['username'])) {
             $mailer->username = $param['installer']['mail']['transport']['username'];
         }
         if (isset($param['installer']['mail']['transport']['password'])) {
             $mailer->password = $param['installer']['mail']['transport']['password'];
         }
         if (isset($param['installer']['mail']['transport']['port'])) {
             $mailer->port = $param['installer']['mail']['transport']['port'];
         }
         if (isset($param['installer']['mail']['transport']['encryption'])) {
             $mailer->encryption = $param['installer']['mail']['transport']['encryption'];
         }
     }
     return $this->render('mailer', ['model' => $mailer]);
 }
Example #11
0
 /** @inheritdoc */
 public function compose($view = null, array $params = [])
 {
     if ($this->_serverName) {
         $_SERVER['SERVER_NAME'] = $this->_serverName;
     }
     $message = parent::compose($view, $params);
     /** @var SwiftMessage $message */
     if ($this->_returnPath) {
         $message->setReturnPath($this->_returnPath);
     }
     return $message;
 }