/** * Send email * @param int $type email type * @param array $params email views params */ public function sendMessage($type, $params) { if ($this->mailer === null) { /** @var yii\swiftmailer\Mailer mailer */ $this->mailer = Yii::$app->mailer; $this->mailer->viewPath = $this->getViewPath() . '/mails'; $this->mailer->getView()->theme = Yii::$app->view->theme; } switch ($type) { case 'register': if ($this->enableRegistrationEmail) { $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'Thank you for register on site')); } break; case 'confirm': if ($this->enableConfirmation) { $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'Email address confirmation needed')); } break; case 'restore': if ($this->enableConfirmation) { $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'Password restore request')); } break; case 'passchanged': if ($this->enableConfirmation) { $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'Password was changed')); } break; case 'block': $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'You are blocked')); break; case 'unblock': $message = $this->mailer->compose($this->mailViews[$type], $params); $message->setSubject(Yii::t('activeuser_general', 'You are unblocked')); break; } if (!empty($message)) { $user = $params['user']; if ($this->sender === null) { $this->sender = isset(Yii::$app->params['adminEmail']) ? Yii::$app->params['adminEmail'] : 'no-reply@' . (empty($_SERVER['HTTP_HOST']) ? 'example.com' : $_SERVER['HTTP_HOST']); } $message->setTo(empty($user->name) ? $user->email : [$user->email => $user->name]); $message->setFrom($this->sender); $this->mailer->send($message); } }