diff options
author | thomascube <thomas@roundcube.net> | 2009-02-08 20:38:54 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2009-02-08 20:38:54 +0000 |
commit | 21b160f38c98bf41ebc843e7639b5b1af588b489 (patch) | |
tree | 08bad782ccc1a146191c7af17d28cf718fc62924 /program/include/rcube_message.php | |
parent | 0ea8d3a08e6055293aaa689bff6525522986e71c (diff) |
Added TNEF support to decode MS Outlook (winmail.dat) attachments
Diffstat (limited to 'program/include/rcube_message.php')
-rw-r--r-- | program/include/rcube_message.php | 12 |
1 files changed, 10 insertions, 2 deletions
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) |