From 21b160f38c98bf41ebc843e7639b5b1af588b489 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sun, 8 Feb 2009 20:38:54 +0000 Subject: Added TNEF support to decode MS Outlook (winmail.dat) attachments --- program/include/rcube_message.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'program/include/rcube_message.php') diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index fa2aebc5c..513cb4c07 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -366,6 +366,14 @@ class rcube_message // ignore "virtual" protocol parts else if ($primary_type == 'protocol') continue; + + // part is Microsoft outlook TNEF (winmail.dat) + else if ($primary_type == 'application' && $secondary_type == 'ms-tnef') { + foreach ((array)$this->imap->tnef_decode($mail_part, $structure->headers['uid']) as $tnef_part) { + $this->mime_parts[$tnef_part->mime_id] = $tnef_part; + $this->attachments[] = $tnef_part; + } + } // part is file/attachment else if ($mail_part->disposition == 'attachment' || $mail_part->disposition == 'inline' || @@ -381,10 +389,10 @@ class rcube_message if ($mail_part->headers['content-location']) $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; - if ($mail_part->content_id || $mail_part->content_location) { + if ($mail_part->content_id || $mail_part->content_location) { $this->inline_parts[] = $mail_part; } - } + } // is regular attachment else { if (!$mail_part->filename) -- cgit v1.2.3