From 63f9dee62db3da78d3755febf24b4fb24a743d43 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 26 Nov 2010 07:41:16 -0500
Subject: [PATCH] - Add workaround for MSOE's multipart/related messages with non-related attachments
---
program/include/rcube_message.php | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 89d65eb..790f8d9 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -411,6 +411,10 @@
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 @@
$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
--
Gitblit v1.9.1