From 20cd88eb728e7612bfac7b20b4613e4c52851a1b Mon Sep 17 00:00:00 2001 From: Zaahid Bateson Date: Tue, 23 Apr 2024 11:34:00 -0700 Subject: [PATCH] Add IMessage::getSubject --- src/IMessage.php | 6 ++++++ src/Message.php | 5 +++++ .../MailMimeParser/IntegrationTests/EmailFunctionalTest.php | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/IMessage.php b/src/IMessage.php index cd546076..9b319123 100644 --- a/src/IMessage.php +++ b/src/IMessage.php @@ -21,6 +21,12 @@ */ interface IMessage extends IMimePart { + /** + * Returns the subject of the message, retrieved from the 'Subject' header, + * or null if the message has none set. + */ + public function getSubject() : ?string; + /** * Returns the inline text/plain IMessagePart for a message. * diff --git a/src/Message.php b/src/Message.php index d8c4c4d0..43285b13 100644 --- a/src/Message.php +++ b/src/Message.php @@ -101,6 +101,11 @@ public function isMime() : bool return ($contentType !== null || $mimeVersion !== null); } + public function getSubject() : ?string + { + return $this->getHeaderValue(HeaderConsts::SUBJECT); + } + public function getTextPart(int $index = 0) : ?IMessagePart { return $this->getPart( diff --git a/tests/MailMimeParser/IntegrationTests/EmailFunctionalTest.php b/tests/MailMimeParser/IntegrationTests/EmailFunctionalTest.php index cb6500ed..6846a64e 100644 --- a/tests/MailMimeParser/IntegrationTests/EmailFunctionalTest.php +++ b/tests/MailMimeParser/IntegrationTests/EmailFunctionalTest.php @@ -98,7 +98,7 @@ private function runEmailTestForMessage($message, array $props, $failMessage) : } if (isset($props['Subject'])) { - $this->assertEquals($props['Subject'], $message->getHeaderValue('subject'), $failMessage); + $this->assertEquals($props['Subject'], $message->getSubject(), $failMessage); } if (isset($props['Date'])) {