Browse Source

Interface 'MailerInterface' extracted. Method 'MailerInterface::createMessage()' added.

tags/2.0.0-alpha
Paul Klimov 12 years ago
parent
commit
c274bc3b52
  1. 17
      yii/swiftmailer/Mailer.php
  2. 11
      yii/swiftmailer/Message.php

17
yii/swiftmailer/Mailer.php

@ -19,7 +19,7 @@ use yii\mail\BaseMailer;
* 'components' => array(
* ...
* 'email' => array(
* 'class' => 'yii\email\swift\Mailer',
* 'class' => 'yii\swiftmailer\Mailer',
* 'transport' => [
* 'class' => 'Swift_SmtpTransport',
* 'host' => 'localhost',
@ -35,12 +35,18 @@ use yii\mail\BaseMailer;
*
* @see http://swiftmailer.org
*
* @method Message createMessage(array $config = []) creates new message instance from given configuration.
*
* @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.0
*/
class Mailer extends BaseMailer
{
/**
* @var string message default class name.
*/
public $messageClass = 'yii\swiftmailer\Message';
/**
* @var \Swift_Mailer Swift mailer instance.
*/
private $_swiftMailer;
@ -131,13 +137,4 @@ class Mailer extends BaseMailer
}
return $transport;
}
/**
* Creates the Swift email message instance.
* @return \Swift_Message email message instance.
*/
public function createSwiftMessage()
{
return new \Swift_Message();
}
}

11
yii/swiftmailer/Message.php

@ -34,7 +34,7 @@ class Message extends BaseMessage
public function getSwiftMessage()
{
if (!is_object($this->_swiftMessage)) {
$this->_swiftMessage = $this->getMailer()->createSwiftMessage();
$this->_swiftMessage = $this->createSwiftMessage();
}
return $this->_swiftMessage;
}
@ -171,4 +171,13 @@ class Message extends BaseMessage
{
return $this->getSwiftMessage()->toString();
}
/**
* Creates the Swift email message instance.
* @return \Swift_Message email message instance.
*/
protected function createSwiftMessage()
{
return new \Swift_Message();
}
}
Loading…
Cancel
Save