/**
* 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);
}
}