|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @link http://www.yiiframework.com/
|
|
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
|
|
* @license http://www.yiiframework.com/license/
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace yii\mail;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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 [[\yii\mail\MailerInterface|mailer]], like the following,
|
|
|
|
*
|
|
|
|
* ~~~
|
|
|
|
* Yii::$app->mail->compose()
|
|
|
|
* ->setFrom('from@domain.com')
|
|
|
|
* ->setTo($form->email)
|
|
|
|
* ->setSubject($form->subject)
|
|
|
|
* ->setTextBody('Plain text content')
|
|
|
|
* ->setHtmlBody('<b>HTML content</b>')
|
|
|
|
* ->send();
|
|
|
|
* ~~~
|
|
|
|
*
|
|
|
|
* @see MailerInterface
|
|
|
|
*
|
|
|
|
* @author Paul Klimov <klimov.paul@gmail.com>
|
|
|
|
* @since 2.0
|
|
|
|
*/
|
|
|
|
interface MessageInterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Returns the character set of this message.
|
|
|
|
* @return string the character set of this message.
|
|
|
|
*/
|
|
|
|
public function getCharset();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the character set of this message.
|
|
|
|
* @param string $charset character set name.
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function setCharset($charset);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the message sender.
|
|
|
|
* @return string the sender
|
|
|
|
*/
|
|
|
|
public function getFrom();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the message sender.
|
|
|
|
* @param string|array $from 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 static self reference.
|
|
|
|
*/
|
|
|
|
public function setFrom($from);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the message recipient(s).
|
|
|
|
* @return array the message recipients
|
|
|
|
*/
|
|
|
|
public function getTo();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the message recipient(s).
|
|
|
|
* @param string|array $to 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 static self reference.
|
|
|
|
*/
|
|
|
|
public function setTo($to);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the reply-to address of this message.
|
|
|
|
* @return string the reply-to address of this message.
|
|
|
|
*/
|
|
|
|
public function getReplyTo();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the reply-to address of this message.
|
|
|
|
* @param string|array $replyTo 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 static self reference.
|
|
|
|
*/
|
|
|
|
public function setReplyTo($replyTo);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the Cc (additional copy receiver) addresses of this message.
|
|
|
|
* @return array the Cc (additional copy receiver) addresses of this message.
|
|
|
|
*/
|
|
|
|
public function getCc();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the Cc (additional copy receiver) addresses of this message.
|
|
|
|
* @param string|array $cc 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 static self reference.
|
|
|
|
*/
|
|
|
|
public function setCc($cc);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the Bcc (hidden copy receiver) addresses of this message.
|
|
|
|
* @return array the Bcc (hidden copy receiver) addresses of this message.
|
|
|
|
*/
|
|
|
|
public function getBcc();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the Bcc (hidden copy receiver) addresses of this message.
|
|
|
|
* @param string|array $bcc 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 static self reference.
|
|
|
|
*/
|
|
|
|
public function setBcc($bcc);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns the message subject.
|
|
|
|
* @return string the message subject
|
|
|
|
*/
|
|
|
|
public function getSubject();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the message subject.
|
|
|
|
* @param string $subject message subject
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function setSubject($subject);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets message plain text content.
|
|
|
|
* @param string $text message plain text content.
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function setTextBody($text);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets message HTML content.
|
|
|
|
* @param string $html message HTML content.
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function setHtmlBody($html);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Attaches existing file to the email message.
|
|
|
|
* @param string $fileName full file name
|
|
|
|
* @param array $options options for embed file. Valid options are:
|
|
|
|
*
|
|
|
|
* - fileName: name, which should be used to attach file.
|
|
|
|
* - contentType: attached file MIME type.
|
|
|
|
*
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function attach($fileName, array $options = []);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Attach specified content as file for the email message.
|
|
|
|
* @param string $content attachment file content.
|
|
|
|
* @param array $options options for embed file. Valid options are:
|
|
|
|
*
|
|
|
|
* - fileName: name, which should be used to attach file.
|
|
|
|
* - contentType: attached file MIME type.
|
|
|
|
*
|
|
|
|
* @return static self reference.
|
|
|
|
*/
|
|
|
|
public function attachContent($content, array $options = []);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Attach a file and return it's CID source.
|
|
|
|
* This method should be used when embedding images or other data in a message.
|
|
|
|
* @param string $fileName file name.
|
|
|
|
* @param array $options 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.
|
|
|
|
*/
|
|
|
|
public function embed($fileName, array $options = []);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
* @param string $content attachment file content.
|
|
|
|
* @param array $options 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.
|
|
|
|
*/
|
|
|
|
public function embedContent($content, array $options = []);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sends this email message.
|
|
|
|
* @param MailerInterface $mailer the mailer that should be used to send this message.
|
|
|
|
* If null, the "mail" application component will be used instead.
|
|
|
|
* @return boolean whether this message is sent successfully.
|
|
|
|
*/
|
|
|
|
public function send(MailerInterface $mailer = null);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Returns string representation of this message.
|
|
|
|
* @return string the string representation of this message.
|
|
|
|
*/
|
|
|
|
public function toString();
|
|
|
|
}
|