File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed
dev/tests/integration/testsuite/Magento/Customer/Controller
lib/internal/Magento/Framework/Mail/Template Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -769,9 +769,21 @@ public function testConfirmationEmailWithSpecialCharacters(): void
769
769
$ message = $ this ->transportBuilderMock ->getSentMessage ();
770
770
$ rawMessage = $ message ->getRawMessage ();
771
771
772
- $ this ->assertContains ('To: John Smith < ' . $ email . '> ' , $ rawMessage );
772
+ /** @var \Zend\Mime\Part $messageBodyPart */
773
+ $ messageBodyParts = $ message ->getBody ()->getParts ();
774
+ $ messageBodyPart = reset ($ messageBodyParts );
775
+ $ messageEncoding = $ messageBodyPart ->getCharset ();
776
+ $ name = 'John Smith ' ;
777
+
778
+ if (strtoupper ($ messageEncoding ) !== 'ASCII ' ) {
779
+ $ name = \Zend \Mail \Header \HeaderWrap::mimeEncodeValue ($ name , $ messageEncoding );
780
+ }
781
+
782
+ $ nameEmail = sprintf ('%s <%s> ' , $ name , $ email );
783
+
784
+ $ this ->assertContains ('To: ' . $ nameEmail , $ rawMessage );
773
785
774
- $ content = $ message -> getBody ()-> getParts ()[ 0 ] ->getRawContent ();
786
+ $ content = $ messageBodyPart ->getRawContent ();
775
787
$ confirmationUrl = $ this ->getConfirmationUrlFromMessageContent ($ content );
776
788
$ this ->setRequestInfo ($ confirmationUrl , 'confirm ' );
777
789
$ this ->clearCookieMessagesList ();
Original file line number Diff line number Diff line change @@ -377,6 +377,7 @@ protected function prepareMessage()
377
377
{
378
378
$ template = $ this ->getTemplate ();
379
379
$ content = $ template ->processTemplate ();
380
+
380
381
switch ($ template ->getType ()) {
381
382
case TemplateTypesInterface::TYPE_TEXT :
382
383
$ part ['type ' ] = MimeInterface::TYPE_TEXT ;
@@ -391,7 +392,10 @@ protected function prepareMessage()
391
392
new Phrase ('Unknown template type ' )
392
393
);
393
394
}
395
+
396
+ /** @var \Magento\Framework\Mail\MimePartInterface $mimePart */
394
397
$ mimePart = $ this ->mimePartInterfaceFactory ->create (['content ' => $ content ]);
398
+ $ this ->messageData ['encoding ' ] = $ mimePart ->getCharset ();
395
399
$ this ->messageData ['body ' ] = $ this ->mimeMessageInterfaceFactory ->create (
396
400
['parts ' => [$ mimePart ]]
397
401
);
@@ -400,6 +404,7 @@ protected function prepareMessage()
400
404
(string )$ template ->getSubject (),
401
405
ENT_QUOTES
402
406
);
407
+
403
408
$ this ->message = $ this ->emailMessageInterfaceFactory ->create ($ this ->messageData );
404
409
405
410
return $ this ;
You can’t perform that action at this time.
0 commit comments