# Interface yii\mail\MessageInterface

Implemented by | yii\mail\BaseMessage, yii\swiftmailer\Message
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/mail/MessageInterface.php

MessageInterface is the interface that should be implemented by mail message classes.

A message represents the settings and content of an email, such as the sender, recipient, subject, body, etc.

Messages are sent by a mailer, like the following,

    Yii::$app->mailer->compose()
        ->setFrom('from@domain.com')
        ->setTo($form->email)
        ->setSubject($form->subject)
        ->setTextBody('Plain text content')
        ->setHtmlBody('<b>HTML content</b>')
        ->send();

See also yii\mail\MailerInterface.

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
attach() | Attaches existing file to the email message. | yii\mail\MessageInterface
attachContent() | Attach specified content as file for the email message. | yii\mail\MessageInterface
embed() | Attach a file and return it's CID source. | yii\mail\MessageInterface
embedContent() | Attach a content as file and return it's CID source. | yii\mail\MessageInterface
getBcc() | Returns the Bcc (hidden copy receiver) addresses of this message. | yii\mail\MessageInterface
getCc() | Returns the Cc (additional copy receiver) addresses of this message. | yii\mail\MessageInterface
getCharset() | Returns the character set of this message. | yii\mail\MessageInterface
getFrom() | Returns the message sender. | yii\mail\MessageInterface
getReplyTo() | Returns the reply-to address of this message. | yii\mail\MessageInterface
getSubject() | Returns the message subject. | yii\mail\MessageInterface
getTo() | Returns the message recipient(s). | yii\mail\MessageInterface
send() | Sends this email message. | yii\mail\MessageInterface
setBcc() | Sets the Bcc (hidden copy receiver) addresses of this message. | yii\mail\MessageInterface
setCc() | Sets the Cc (additional copy receiver) addresses of this message. | yii\mail\MessageInterface
setCharset() | Sets the character set of this message. | yii\mail\MessageInterface
setFrom() | Sets the message sender. | yii\mail\MessageInterface
setHtmlBody() | Sets message HTML content. | yii\mail\MessageInterface
setReplyTo() | Sets the reply-to address of this message. | yii\mail\MessageInterface
setSubject() | Sets the message subject. | yii\mail\MessageInterface
setTextBody() | Sets message plain text content. | yii\mail\MessageInterface
setTo() | Sets the message recipient(s). | yii\mail\MessageInterface
toString() | Returns string representation of this message. | yii\mail\MessageInterface

## Method Details

attach() public abstract method

Attaches existing file to the email message.

public abstract $this attach ( $fileName, array $options = [] )
$fileName | string | Full file name
$options | array | Options for embed file. Valid options are: fileName: name, which should be used to attach file. contentType: attached file MIME type.
return | $this | Self reference.

attachContent() public abstract method

Attach specified content as file for the email message.

public abstract $this attachContent ( $content, array $options = [] )
$content | string | Attachment file content.
$options | array | Options for embed file. Valid options are: fileName: name, which should be used to attach file. contentType: attached file MIME type.
return | $this | Self reference.

embed() public abstract method

Attach a file and return it's CID source.

This method should be used when embedding images or other data in a message.

public abstract string embed ( $fileName, array $options = [] )
$fileName | string | File name.
$options | array | Options for embed file. Valid options are: fileName: name, which should be used to attach file. contentType: attached file MIME type.
return | string | Attachment CID.

embedContent() public abstract method

Attach a content as file and return it's CID source.

This method should be used when embedding images or other data in a message.

public abstract string embedContent ( $content, array $options = [] )
$content | string | Attachment file content.
$options | array | Options for embed file. Valid options are: fileName: name, which should be used to attach file. contentType: attached file MIME type.
return | string | Attachment CID.

getBcc() public abstract method

Returns the Bcc (hidden copy receiver) addresses of this message.

public abstract string|array getBcc ( )
return | string|array | The Bcc (hidden copy receiver) addresses of this message.

getCc() public abstract method

Returns the Cc (additional copy receiver) addresses of this message.

public abstract string|array getCc ( )
return | string|array | The Cc (additional copy receiver) addresses of this message.

getCharset() public abstract method

Returns the character set of this message.

public abstract string getCharset ( )
return | string | The character set of this message.

getFrom() public abstract method

Returns the message sender.

public abstract string|array getFrom ( )
return | string|array | The sender

getReplyTo() public abstract method

Returns the reply-to address of this message.

public abstract string|array getReplyTo ( )
return | string|array | The reply-to address of this message.

getSubject() public abstract method

Returns the message subject.

public abstract string getSubject ( )
return | string | The message subject

getTo() public abstract method

Returns the message recipient(s).

public abstract string|array getTo ( )
return | string|array | The message recipients

send() public abstract method

Sends this email message.

public abstract boolean send ( yii\mail\MailerInterface $mailer = null )
$mailer | yii\mail\MailerInterface | The mailer that should be used to send this message. If null, the "mailer" application component will be used instead.
return | boolean | Whether this message is sent successfully.

setBcc() public abstract method

Sets the Bcc (hidden copy receiver) addresses of this message.

public abstract $this setBcc ( $bcc )
$bcc | string|array | Hidden copy receiver email address. You may pass an array of addresses if multiple recipients should receive this message. You may also specify receiver name in addition to email address using format: `[email => name]`.
return | $this | Self reference.

setCc() public abstract method

Sets the Cc (additional copy receiver) addresses of this message.

public abstract $this setCc ( $cc )
$cc | string|array | Copy receiver email address. You may pass an array of addresses if multiple recipients should receive this message. You may also specify receiver name in addition to email address using format: `[email => name]`.
return | $this | Self reference.

setCharset() public abstract method

Sets the character set of this message.

public abstract $this setCharset ( $charset )
$charset | string | Character set name.
return | $this | Self reference.

setFrom() public abstract method

Sets the message sender.

public abstract $this setFrom ( $from )
$from | string|array | Sender email address. You may pass an array of addresses if this message is from multiple people. You may also specify sender name in addition to email address using format: `[email => name]`.
return | $this | Self reference.

setHtmlBody() public abstract method

Sets message HTML content.

public abstract $this setHtmlBody ( $html )
$html | string | Message HTML content.
return | $this | Self reference.

setReplyTo() public abstract method

Sets the reply-to address of this message.

public abstract $this setReplyTo ( $replyTo )
$replyTo | string|array | The reply-to address. You may pass an array of addresses if this message should be replied to multiple people. You may also specify reply-to name in addition to email address using format: `[email => name]`.
return | $this | Self reference.

setSubject() public abstract method

Sets the message subject.

public abstract $this setSubject ( $subject )
$subject | string | Message subject
return | $this | Self reference.

setTextBody() public abstract method

Sets message plain text content.

public abstract $this setTextBody ( $text )
$text | string | Message plain text content.
return | $this | Self reference.

setTo() public abstract method

Sets the message recipient(s).

public abstract $this setTo ( $to )
$to | string|array | Receiver email address. You may pass an array of addresses if multiple recipients should receive this message. You may also specify receiver name in addition to email address using format: `[email => name]`.
return | $this | Self reference.

toString() public abstract method

Returns string representation of this message.

public abstract string toString ( )
return | string | The string representation of this message.