From d84af8db3ca6d4432d95b1abb9f0542f1a17f4cb Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Wed, 31 May 2017 21:40:53 +0200 Subject: [PATCH] Fix SwiftMailerHandler support for Swiftmailer 6.0+ --- composer.json | 2 +- src/Monolog/Handler/SwiftMailerHandler.php | 7 ++++++- tests/Monolog/Handler/SwiftMailerHandlerTest.php | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index f74b7b97..3b0c8805 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,7 @@ "doctrine/couchdb": "~1.0@dev", "aws/aws-sdk-php": "^2.4.9 || ^3.0", "php-amqplib/php-amqplib": "~2.4", - "swiftmailer/swiftmailer": "~5.3", + "swiftmailer/swiftmailer": "^5.3|^6.0", "php-console/php-console": "^3.1.3", "phpunit/phpunit-mock-objects": "2.3.0", "jakub-onderka/php-parallel-lint": "0.9" diff --git a/src/Monolog/Handler/SwiftMailerHandler.php b/src/Monolog/Handler/SwiftMailerHandler.php index aba13967..72f44a53 100644 --- a/src/Monolog/Handler/SwiftMailerHandler.php +++ b/src/Monolog/Handler/SwiftMailerHandler.php @@ -13,6 +13,7 @@ namespace Monolog\Handler; use Monolog\Logger; use Monolog\Formatter\LineFormatter; +use Swift; /** * SwiftMailerHandler uses Swift_Mailer to send the emails @@ -73,7 +74,11 @@ class SwiftMailerHandler extends MailHandler } $message->setBody($content); - $message->setDate(time()); + if (version_compare(Swift::VERSION, '6.0.0', '>=')) { + $message->setDate(new \DateTimeImmutable()); + } else { + $message->setDate(time()); + } return $message; } diff --git a/tests/Monolog/Handler/SwiftMailerHandlerTest.php b/tests/Monolog/Handler/SwiftMailerHandlerTest.php index 85886910..1d62940f 100644 --- a/tests/Monolog/Handler/SwiftMailerHandlerTest.php +++ b/tests/Monolog/Handler/SwiftMailerHandlerTest.php @@ -98,7 +98,7 @@ class SwiftMailerHandlerTest extends TestCase public function testMessageHaveUniqueId() { - $messageTemplate = \Swift_Message::newInstance(); + $messageTemplate = new \Swift_Message(); $handler = new SwiftMailerHandler($this->mailer, $messageTemplate); $method = new \ReflectionMethod('Monolog\Handler\SwiftMailerHandler', 'buildMessage');