From f8b4d15da8f6e5fa33e933dd98420a6865b188e9 Mon Sep 17 00:00:00 2001 From: Filippo Tessarotto Date: Thu, 12 Oct 2017 15:42:15 +0200 Subject: [PATCH] Message: From header can be absent --- src/Message/AbstractMessage.php | 4 ++-- src/Message/BasicMessageInterface.php | 4 ++-- tests/MessageTest.php | 8 ++++++++ tests/fixtures/missing_from.eml | 7 +++++++ 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 tests/fixtures/missing_from.eml diff --git a/src/Message/AbstractMessage.php b/src/Message/AbstractMessage.php index c6242d77..00ace0c3 100644 --- a/src/Message/AbstractMessage.php +++ b/src/Message/AbstractMessage.php @@ -26,9 +26,9 @@ final public function getId(): string /** * Get message sender (from headers). * - * @return EmailAddress + * @return null|EmailAddress */ - final public function getFrom(): EmailAddress + final public function getFrom() { return $this->getHeaders()->get('from'); } diff --git a/src/Message/BasicMessageInterface.php b/src/Message/BasicMessageInterface.php index 77e95be1..0b552a9e 100644 --- a/src/Message/BasicMessageInterface.php +++ b/src/Message/BasicMessageInterface.php @@ -39,9 +39,9 @@ public function getId(): string; /** * Get message sender (from headers). * - * @return EmailAddress + * @return null|EmailAddress */ - public function getFrom(): EmailAddress; + public function getFrom(); /** * Get To recipients. diff --git a/tests/MessageTest.php b/tests/MessageTest.php index a61a5c0a..36ff8ded 100644 --- a/tests/MessageTest.php +++ b/tests/MessageTest.php @@ -650,6 +650,14 @@ public function testInlineAttachment() $this->assertNull($inline->getFilename()); } + public function testMissingFromHeader() + { + $this->mailbox->addMessage($this->getFixture('missing_from')); + $message = $this->mailbox->getMessage(1); + + $this->assertNull($message->getFrom()); + } + public function testAttachmentMustNotBeCharsetDecoded() { $parts = []; diff --git a/tests/fixtures/missing_from.eml b/tests/fixtures/missing_from.eml new file mode 100644 index 00000000..2aad59de --- /dev/null +++ b/tests/fixtures/missing_from.eml @@ -0,0 +1,7 @@ +To: to@here.com +Subject: Nuu +Date: Wed, 13 Sep 2017 13:05:45 +0200 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: quoted-printable + +Hi