yii\mail\MailerInterface::compose PHP Method

compose() public method

Creates a new message instance and optionally composes its body content via view rendering.
public compose ( string | array | null $view = null, array $params = [] ) : yii\mail\MessageInterface
$view string | array | null the view to be used for rendering the message body. This can be: - a string, which represents the view name or path alias for rendering the HTML body of the email. In this case, the text body will be generated by applying `strip_tags()` to the HTML body. - an array with 'html' and/or 'text' elements. The 'html' element refers to the view name or path alias for rendering the HTML body, while 'text' element is for rendering the text body. For example, `['html' => 'contact-html', 'text' => 'contact-text']`. - null, meaning the message instance will be returned without body content.
$params array the parameters (name-value pairs) that will be extracted and made available in the view file.
return yii\mail\MessageInterface message instance.
    public function compose($view = null, array $params = []);

Usage Example

Example #1
0
 /**
  * Send email logic.
  *
  * @param MailerInterface $mailer
  * @param array $address
  */
 protected function sendEmail(MailerInterface $mailer, $address)
 {
     $message = $mailer->compose();
     $message->setTextBody(file_get_contents($this->_output))->setSubject($this->getEmailSubject())->setTo($address);
     $message->send();
 }
All Usage Examples Of yii\mail\MailerInterface::compose