From: Tim Düsterhus Date: Thu, 3 Mar 2022 13:20:54 +0000 (+0100) Subject: Dump the email once for each recipient in Email::debugDump() X-Git-Tag: 5.5.0_Alpha_1~93 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=01efac6a97ae7dc649710650e63ec310094d6610;p=GitHub%2FWoltLab%2FWCF.git Dump the email once for each recipient in Email::debugDump() --- diff --git a/wcfsetup/install/files/lib/system/email/Email.class.php b/wcfsetup/install/files/lib/system/email/Email.class.php index 0448b0385d..14e41e8dbf 100644 --- a/wcfsetup/install/files/lib/system/email/Email.class.php +++ b/wcfsetup/install/files/lib/system/email/Email.class.php @@ -762,20 +762,20 @@ class Email @\header('Content-Encoding: identity'); } - $dumpBody = static function ($body, $depth) use (&$dumpBody) { + $dumpBody = static function ($body) use (&$dumpBody) { $result = ''; // @codingStandardsIgnoreStart if ($body instanceof mime\MimePartFacade) { - return $dumpBody($body->getMimePart(), $depth); + return $dumpBody($body->getMimePart()); } if ($body instanceof mime\AbstractMultipartMimePart) { - $result .= "
" . \get_class($body) . ""; + $result .= "
" . \get_class($body) . ""; foreach ($body->getMimeparts() as $part) { - $result .= $dumpBody($part, $depth + 1); + $result .= $dumpBody($part); } $result .= '
'; } elseif ($body instanceof mime\TextMimePart) { - $result .= "
" . \get_class($body) . ""; + $result .= "
" . \get_class($body) . ""; if (\str_starts_with($body->getContentType(), 'text/html')) { $result .= ''; } else { @@ -783,7 +783,7 @@ class Email } $result .= '
'; } elseif ($body instanceof mime\AttachmentMimePart) { - $result .= "
" . \get_class($body) . ""; + $result .= "
" . \get_class($body) . ""; $result .= "
" . \implode('', \array_map(static function ($item) { return "
" . $item[0] . "
" . $item[1] . "
"; }, $body->getAdditionalHeaders())) . "
"; @@ -796,9 +796,28 @@ class Email return $result; }; - echo "

Message Headers

-
" . StringUtil::encodeHTML($this->getHeaderString()) . "
-

Message Body

" . $dumpBody($this->body, 2); + + foreach ($this->recipients as $recipient) { + if ($this->body instanceof IRecipientAwareMimePart) { + $this->body->setRecipient(\current($this->recipients)['mailbox']); + } + \printf( + <<<'EOT' +
%s +
Message Headers +
%s
+
+
Message Body + %s +
+
+EOT +, + StringUtil::encodeHTML($recipient['mailbox']), + StringUtil::encodeHTML($this->getHeaderString()), + $dumpBody($this->body) + ); + } exit; }