From 013365791e148cd0f9cf3223eef2cb042097755d Mon Sep 17 00:00:00 2001 From: Sergey Syomkin Date: Wed, 30 Jul 2025 12:07:57 +0300 Subject: [PATCH] Add in email replyTo header --- src/SendIt/src/Renderer/ViewRenderer.php | 4 ++ src/SendIt/tests/ViewRendererTest.php | 62 ++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/SendIt/tests/ViewRendererTest.php diff --git a/src/SendIt/src/Renderer/ViewRenderer.php b/src/SendIt/src/Renderer/ViewRenderer.php index f13dc41b2..c9bf8f040 100644 --- a/src/SendIt/src/Renderer/ViewRenderer.php +++ b/src/SendIt/src/Renderer/ViewRenderer.php @@ -57,6 +57,10 @@ public function render(MessageInterface $message): Email $msg->from($message->getFrom()); } + if ($message->getReplyTo() !== null) { + $msg->replyTo($message->getReplyTo()); + } + $msg->to(...$message->getTo()); $msg->cc(...$message->getCC()); $msg->bcc(...$message->getBCC()); diff --git a/src/SendIt/tests/ViewRendererTest.php b/src/SendIt/tests/ViewRendererTest.php new file mode 100644 index 000000000..c8de5908c --- /dev/null +++ b/src/SendIt/tests/ViewRendererTest.php @@ -0,0 +1,62 @@ +createMock(ViewInterface::class); + $view->expects(self::once())->method('render'); + + $views = $this->createMock(ViewsInterface::class); + $views->expects(self::once())->method('get')->willReturn($view); + + $message = $this->createMock(MessageInterface::class); + $message + ->expects(self::exactly(2)) + ->method('getFrom') + ->willReturn('from@fortest.com'); + $message + ->expects(self::exactly(2)) + ->method('getReplyTo') + ->willReturn('reply-to@fortest.com'); + $message + ->expects(self::exactly(1)) + ->method('getTo') + ->willReturn(['to@fortest.com']); + $message + ->expects(self::exactly(1)) + ->method('getCC') + ->willReturn(['cc@fortest.com']); + $message + ->expects(self::exactly(1)) + ->method('getBCC') + ->willReturn(['bcc@fortest.com']); + + $target = new ViewRenderer($views); + $msg = $target->render($message); + + self::assertSame([ + 'From: from@fortest.com', + 'Reply-To: reply-to@fortest.com', + 'To: to@fortest.com', + 'Cc: cc@fortest.com', + 'Bcc: bcc@fortest.com', + ], $msg->getHeaders()->toArray()); + } +}