Skip to content

Commit ad39e9f

Browse files
piku235fabpot
authored andcommitted
[Mailer][Mime] Fix case-sensitive handling of header names
1 parent f922306 commit ad39e9f

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

EventListener/MessageListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function addHeaderRule(string $headerName, int $rule): void
5858
throw new InvalidArgumentException(sprintf('The "%d" rule is not supported.', $rule));
5959
}
6060

61-
$this->headerRules[$headerName] = $rule;
61+
$this->headerRules[strtolower($headerName)] = $rule;
6262
}
6363

6464
public function onMessage(MessageEvent $event): void

Tests/EventListener/MessageListenerTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,17 @@ public function provideHeaders(): iterable
101101
->add(new MailboxListHeader('bcc', [new Address('bcc-initial@example.com'), new Address('bcc-default@example.com'), new Address('bcc-default-1@example.com')]))
102102
;
103103
yield 'bcc, add another bcc (unique header)' => [$initialHeaders, $defaultHeaders, $expectedHeaders];
104+
105+
$initialHeaders = (new Headers())
106+
->add(new UnstructuredHeader('foo', 'initial'))
107+
;
108+
$defaultHeaders = (new Headers())
109+
->add(new UnstructuredHeader('foo', 'bar'))
110+
->add(new UnstructuredHeader('bar', 'foo'))
111+
;
112+
$rules = [
113+
'Foo' => MessageListener::HEADER_REPLACE,
114+
];
115+
yield 'Capitalized header rule (case-insensitive), replace if set' => [$initialHeaders, $defaultHeaders, $defaultHeaders, $rules];
104116
}
105117
}

0 commit comments

Comments
 (0)