From cbc5a8e1f4afe6088131005bfb023b9ec7c9b18b Mon Sep 17 00:00:00 2001 From: Dmitry Kulikov Date: Mon, 23 Apr 2018 13:54:07 +0600 Subject: [PATCH] Fixes #61: yii\swiftmailer\Mailer::setTransport has no effect after sending of first message (#62) * Fixes #61: setTransport has no effect after sending of first message * Updated CHANGELOG.md [skip ci] --- CHANGELOG.md | 2 +- src/Mailer.php | 1 + tests/MailerTest.php | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc1e67a..2321eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Yii Framework 2 swiftmailer extension Change Log 2.1.1 under development ----------------------- -- no changes in this release. +- Bug #61: Fixed `yii\swiftmailer\Mailer::setTransport` has no effect after sending of first message (dmitry-kulikov) 2.1.0 August 04, 2017 diff --git a/src/Mailer.php b/src/Mailer.php index 9124be2..030e0a3 100644 --- a/src/Mailer.php +++ b/src/Mailer.php @@ -121,6 +121,7 @@ class Mailer extends BaseMailer throw new InvalidConfigException('"' . get_class($this) . '::transport" should be either object or array, "' . gettype($transport) . '" given.'); } $this->_transport = $transport; + $this->_swiftMailer = null; } /** diff --git a/tests/MailerTest.php b/tests/MailerTest.php index 5926e6a..d5dfa52 100644 --- a/tests/MailerTest.php +++ b/tests/MailerTest.php @@ -33,10 +33,11 @@ class MailerTest extends TestCase public function testSetupTransport() { $mailer = new Mailer(); + $mailer->getSwiftMailer(); // make sure accessing SwiftMailer does not affect behavior of setTransport $transport = new \Swift_SendmailTransport(); $mailer->setTransport($transport); - $this->assertEquals($transport, $mailer->getTransport(), 'Unable to setup transport!'); + $this->assertSame($transport, $mailer->getSwiftMailer()->getTransport(), 'Unable to setup transport!'); } /**