diff options
-rw-r--r-- | program/lib/Roundcube/rcube_message.php | 11 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/program/lib/Roundcube/rcube_message.php b/program/lib/Roundcube/rcube_message.php index b52b79b25..6a5851f76 100644 --- a/program/lib/Roundcube/rcube_message.php +++ b/program/lib/Roundcube/rcube_message.php @@ -468,6 +468,17 @@ class rcube_message $this->parts[] = $p; } + // this is an S/MIME ecrypted message -> create a plaintext body with the according message + else if ($mimetype == 'application/pkcs7-mime') { + $p = new stdClass; + $p->type = 'content'; + $p->ctype_primary = 'text'; + $p->ctype_secondary = 'plain'; + $p->mimetype = 'text/plain'; + $p->realtype = 'application/pkcs7-mime'; + + $this->parts[] = $p; + } // message contains multiple parts else if (is_array($structure->parts) && !empty($structure->parts)) { // iterate over parts diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 5058dccc6..19290e40a 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1079,9 +1079,9 @@ function rcmail_message_body($attrib) $out .= html::div('message-partheaders', rcmail_message_headers(sizeof($header_attrib) ? $header_attrib : null, $part->headers)); } else if ($part->type == 'content') { - // unsapported + // unsupported (e.g. encrypted) if ($part->realtype) { - if ($part->realtype == 'multipart/encrypted') { + if ($part->realtype == 'multipart/encrypted' || $part->realtype == 'application/pkcs7-mime') { $out .= html::span('part-notice', rcube_label('encryptedmessage')); } continue; |