From b8fe3f5fd48083149a0bda46a35374c5b8662ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9?= Date: Sun, 14 Oct 2018 10:12:21 +0200 Subject: [PATCH] [Web] Fall back to raw content when mail parsing fails, fixes #1892 --- data/web/inc/ajax/qitem_details.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/data/web/inc/ajax/qitem_details.php b/data/web/inc/ajax/qitem_details.php index 801fd3d0a..fedca73b9 100644 --- a/data/web/inc/ajax/qitem_details.php +++ b/data/web/inc/ajax/qitem_details.php @@ -40,6 +40,13 @@ if (!empty($_GET['id']) && ctype_alnum($_GET['id'])) { $data['text_plain'] = $mail_parser->getMessageBody('text'); // Get html content and convert to text $data['text_html'] = $html2text->convert($mail_parser->getMessageBody('html')); + if (empty($data['text_plain']) && empty($data['text_html'])) { + // Failed to parse content, try raw + $text = trim(substr($mailc['msg'], strpos($mailc['msg'], "\r\n\r\n") + 1)); + // Only return html->text + $data['text_plain'] = 'Parser failed, assuming HTML'; + $data['text_html'] = $html2text->convert($text); + } (empty($data['text_plain'])) ? $data['text_plain'] = '-' : null; // Get subject $data['subject'] = $mail_parser->getHeader('subject');