Interface yii\mail\MailerInterface

Implemented byyii\mail\BaseMailer, yii\swiftmailer\Mailer
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/mail/MailerInterface.php

MailerInterface is the interface that should be implemented by mailer classes.

A mailer should mainly support creating and sending mail messages. It should also support composition of the message body through the view rendering mechanism. For example,

Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])
    ->setFrom('from@domain.com')
    ->setTo($form->email)
    ->setSubject($form->subject)
    ->send();

See also yii\mail\MessageInterface.

Public Methods

Hide inherited methods

MethodDescriptionDefined By
compose() Creates a new message instance and optionally composes its body content via view rendering. yii\mail\MailerInterface
send() Sends the given email message. yii\mail\MailerInterface
sendMultiple() Sends multiple messages at once. yii\mail\MailerInterface

Method Details

compose() public abstract method

Creates a new message instance and optionally composes its body content via view rendering.

public abstract yii\mail\MessageInterface compose ( $view null, array $params = [] )
$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.

send() public abstract method

Sends the given email message.

public abstract boolean send ( $message )
$message yii\mail\MessageInterface

Email message instance to be sent

return boolean

Whether the message has been sent successfully

sendMultiple() public abstract method

Sends multiple messages at once.

This method may be implemented by some mailers which support more efficient way of sending multiple messages in the same batch.

public abstract integer sendMultiple ( array $messages )
$messages array

List of email messages, which should be sent.

return integer

Number of messages that are successfully sent.