diff options
author | alecpl <alec@alec.pl> | 2010-11-26 12:41:16 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-11-26 12:41:16 +0000 |
commit | 63f9dee62db3da78d3755febf24b4fb24a743d43 (patch) | |
tree | f3c3a17f120352d95e54d5fb1ccd325c5d665a27 | |
parent | f5e5eed330ed12e472d57bd497531dd0f2cf6938 (diff) |
- Add workaround for MSOE's multipart/related messages with non-related attachments
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/include/rcube_message.php | 15 | ||||
-rw-r--r-- | skins/default/editor_content.css | 1 |
3 files changed, 15 insertions, 2 deletions
@@ -77,6 +77,7 @@ CHANGELOG Roundcube Webmail - Lock submit button in onsubmit event on login page (#1487036) - Don't set attachment's charset in Content-type header (#1487122) - Fix handling of message bodies (quoted-printable encoded) with NULL characters (#1486189) +- Add workaround for MSOE's multipart/related messages with non-related attachments RELEASE 0.4.2 ------------- diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index 89d65eb1e..790f8d9bd 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -411,6 +411,10 @@ class rcube_message if ($plugin['abort']) continue; + if ($part_mimetype == 'text/html') { + $got_html_part = true; + } + $mail_part = $plugin['structure']; list($primary_type, $secondary_type) = explode('/', $plugin['mimetype']); @@ -487,8 +491,17 @@ class rcube_message $part_url = $this->get_part_url($inline_object->mime_id); if ($inline_object->content_id) $a_replaces['cid:'.$inline_object->content_id] = $part_url; - if ($inline_object->content_location) + if ($inline_object->content_location) { $a_replaces[$inline_object->content_location] = $part_url; + } + // MS Outlook sends sometimes non-related attachments as related + // In this case multipart/related message has only one text part + // We'll add all such attachments to the attachments list + if (!isset($got_html_part) && empty($inline_object->content_id) + && !empty($inline_object->filename) + ) { + $this->attachments[] = $inline_object; + } } // add replace array to each content part diff --git a/skins/default/editor_content.css b/skins/default/editor_content.css index 14c2936d5..2ddc87fe9 100644 --- a/skins/default/editor_content.css +++ b/skins/default/editor_content.css @@ -30,4 +30,3 @@ blockquote margin-left:5px; width:100%; } - |