Page MenuHomePhabricator

D18778.id.diff
No OneTemporary

D18778.id.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
@@ -38,15 +38,19 @@
$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]);
+
+ if (strlen($part_body) && !phutil_is_utf8($part_body)) {
+ $part_headers = $parser->getMessageBodyHeaders($part);
+ if (!is_array($part_headers)) {
+ $part_headers = array();
+ }
+ $content_type = idx($part_headers, 'content-type');
+ if (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;
}

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 5, 12:37 PM (21 h, 56 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7225543
Default Alt Text
D18778.id.diff (1 KB)

Event Timeline