|
- <?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,
- *
- * ```php
- * 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 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 $this 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 $this 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 $this 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 $this 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 $this 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 $this 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 $this self reference.
- */
- public function setSubject($subject);
-
- /**
- * Sets message plain text content.
- * @param string $text message plain text content.
- * @return $this self reference.
- */
- public function setTextBody($text);
-
- /**
- * Sets message HTML content.
- * @param string $html message HTML content.
- * @return $this 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 $this 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 $this 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();
- }
|