Page MenuHomePhabricator

D18776.diff
No OneTemporary

D18776.diff

diff --git a/scripts/mail/mail_handler.php b/scripts/mail/mail_handler.php
--- a/scripts/mail/mail_handler.php
+++ b/scripts/mail/mail_handler.php
@@ -35,16 +35,19 @@
$parser = new MimeMailParser();
$parser->setText(file_get_contents('php://stdin'));
-$text_body = $parser->getMessageBody('text');
-
-$text_body_headers = $parser->getMessageBodyHeaders('text');
-$content_type = idx($text_body_headers, 'content-type');
-if (
- !phutil_is_utf8($text_body) &&
- (preg_match('/charset="(.*?)"/', $content_type, $matches) ||
- preg_match('/charset=(\S+)/', $content_type, $matches))
-) {
- $text_body = phutil_utf8_convert($text_body, 'UTF-8', $matches[1]);
+$content = array();
+foreach (array('text', 'html') as $part) {
+ $part_body = $parser->getMessageBody($part);
+ $part_headers = $parser->getMessageBodyHeaders($part);
+ $content_type = idx($part_headers, 'content-type');
+ if (
+ !phutil_is_utf8($part_body) &&
+ (preg_match('/charset="(.*?)"/', $content_type, $matches) ||
+ preg_match('/charset=(\S+)/', $content_type, $matches))
+ ) {
+ $part_body = phutil_utf8_convert($part_body, 'UTF-8', $matches[1]);
+ }
+ $content[$part] = $part_body;
}
$headers = $parser->getHeaders();
@@ -57,10 +60,7 @@
$received = new PhabricatorMetaMTAReceivedMail();
$received->setHeaders($headers);
-$received->setBodies(array(
- 'text' => $text_body,
- 'html' => $parser->getMessageBody('html'),
-));
+$received->setBodies($content);
$attachments = array();
foreach ($parser->getAttachments() as $attachment) {

File Metadata

Mime Type
text/plain
Expires
Thu, May 9, 7:56 PM (3 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6276145
Default Alt Text
D18776.diff (1 KB)

Event Timeline