diff --git a/Header/Headers.php b/Header/Headers.php index 1a7b4b2..201a7a5 100644 --- a/Header/Headers.php +++ b/Header/Headers.php @@ -141,8 +141,8 @@ public function add(HeaderInterface $header): self 'cc' => MailboxListHeader::class, 'bcc' => MailboxListHeader::class, 'message-id' => IdentificationHeader::class, - 'in-reply-to' => IdentificationHeader::class, - 'references' => IdentificationHeader::class, + 'in-reply-to' => UnstructuredHeader::class, // `In-Reply-To` and `References` are less strict than RFC 2822 (3.6.4) to allow users entering the original email's ... + 'references' => UnstructuredHeader::class, // ... `Message-ID`, even if that is no valid `msg-id` 'return-path' => PathHeader::class, ]; diff --git a/Tests/Header/HeadersTest.php b/Tests/Header/HeadersTest.php index 89d8be0..5da2729 100644 --- a/Tests/Header/HeadersTest.php +++ b/Tests/Header/HeadersTest.php @@ -243,4 +243,18 @@ public function testToArray() "Foo: =?utf-8?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r\n =?utf-8?Q?aaaa?=", ], $headers->toArray()); } + + public function testInReplyToAcceptsNonIdentifierValues() + { + $headers = new Headers(); + $headers->addHeader('In-Reply-To', 'foobar'); + $this->assertEquals('foobar', $headers->get('In-Reply-To')->getBody()); + } + + public function testReferencesAcceptsNonIdentifierValues() + { + $headers = new Headers(); + $headers->addHeader('References' , 'foobar'); + $this->assertEquals('foobar', $headers->get('References')->getBody()); + } }