from = $from; $this->to = $to; $this->subject = $subject; $this->view = $view; $this->params = $params; $this->mailer = $mailer; $this->mailer->setViewPath($this->viewPath); $this->mailer->getView()->theme = Yii::$app->view->theme; } /** * @param $name * @param $value * * @return $this */ public function setViewParam($name, $value) { $this->params[$name] = $value; return $this; } /** * @return bool */ public function run() { return $this->mailer ->compose(['html' => $this->view, 'text' => "text/{$this->view}"], $this->params) ->setFrom($this->from) ->setTo($this->to) ->setSubject($this->subject) ->send(); } }