yii\mail\BaseMailer::getView PHP Method

getView() public method

public getView ( ) : View
return yii\web\View view instance.
    public function getView()
    {
        if (!is_object($this->_view)) {
            $this->_view = $this->createView($this->_view);
        }
        return $this->_view;
    }

Usage Example

Beispiel #1
0
 /**
  * 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);
     }
 }