From e0bd7054b7e566bf156e8afdc6d4c790fed0c0f2 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 20 Oct 2010 07:41:48 -0400
Subject: [PATCH] - Add workaround for some Outlook's wrong content-types, per discussion in #1487051
---
program/steps/mail/func.inc | 10 ++++++++++
program/steps/mail/show.inc | 2 +-
program/steps/mail/get.inc | 1 +
3 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 668d8c7..629e68b 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -1717,6 +1717,16 @@
return $date;
}
+// Fixes some content-type names
+function rcmail_fix_mimetype($name)
+{
+ // Some versions of Outlook create garbage Content-Type:
+ // application/pdf.A520491B_3BF7_494D_8855_7FAC2C6C0608
+ if (preg_match('/^application\/pdf.+/', $name))
+ $name = 'application/pdf';
+
+ return $name;
+}
function rcmail_search_filter($attrib)
{
diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index 3c4e4fb..5b9e977 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -91,6 +91,7 @@
header("Content-Type: text/$ctype_secondary; charset=" . ($part->charset ? $part->charset : RCMAIL_CHARSET));
}
else {
+ $mimetype = rcmail_fix_mimetype($mimetype);
header("Content-Type: $mimetype");
header("Content-Transfer-Encoding: binary");
}
diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 328e9d0..c3046f6 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -172,7 +172,7 @@
'return %s.command(\'load-attachment\',{part:\'%s\', mimetype:\'%s\'},this)',
JS_OBJECT_NAME,
$attach_prop->mime_id,
- $attach_prop->mimetype),
+ rcmail_fix_mimetype($attach_prop->mimetype)),
'title' => Q($title),
),
Q($filename)));
--
Gitblit v1.9.1