1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- /**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
- namespace yii\mail;
- use Yii;
- use yii\base\BaseObject;
- use yii\base\ErrorHandler;
- /**
- * BaseMessage serves as a base class that implements the [[send()]] method required by [[MessageInterface]].
- *
- * By default, [[send()]] will use the "mailer" application component to send the current message.
- * The "mailer" application component should be a mailer instance implementing [[MailerInterface]].
- *
- * @see BaseMailer
- *
- * @author Paul Klimov <klimov.paul@gmail.com>
- * @since 2.0
- */
- abstract class BaseMessage extends BaseObject implements MessageInterface
- {
- /**
- * @var MailerInterface the mailer instance that created this message.
- * For independently created messages this is `null`.
- */
- public $mailer;
- /**
- * Sends this email message.
- * @param MailerInterface $mailer the mailer that should be used to send this message.
- * If no mailer is given it will first check if [[mailer]] is set and if not,
- * the "mailer" application component will be used instead.
- * @return bool whether this message is sent successfully.
- */
- public function send(MailerInterface $mailer = null)
- {
- if ($mailer === null && $this->mailer === null) {
- $mailer = Yii::$app->getMailer();
- } elseif ($mailer === null) {
- $mailer = $this->mailer;
- }
- return $mailer->send($this);
- }
- /**
- * PHP magic method that returns the string representation of this object.
- * @return string the string representation of this object.
- */
- public function __toString()
- {
- // __toString cannot throw exception
- // use trigger_error to bypass this limitation
- try {
- return $this->toString();
- } catch (\Exception $e) {
- ErrorHandler::convertExceptionToError($e);
- return '';
- }
- }
- }
|