/** * @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(); }
/** * @param MessageInterface $message * @return boolean */ public function send($message) { $result = parent::send($message); //Send mail $this->crearLog($result, $message); return $result; }
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); }
/** * @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; }
protected function sendMessage($message) { if ($this->useSpool === true) { return $this->spool->queueMessage($message->getSwiftMessage()); } else { return parent::sendMessage($message); } }
/** * @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); }
/** * @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!'); }
/** * 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]); }
/** @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; }