Add workaround for invalid BODYSTRUCTURE response - parse message with Mail_mimeDecode package (#1485585)

pull/13/head
Aleksander Machniak 12 years ago
parent eede5101cd
commit bdb40d39bd

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Add workaround for invalid BODYSTRUCTURE response - parse message with Mail_mimeDecode package (#1485585)
- Decode header value in rcube_mime::get() by default (#1488511)
- Fix errors with enabled PHP magic_quotes_sybase option (#1488506)
- Fix SQL query for contacts listing on MS SQL Server (#1488505)

@ -1635,11 +1635,24 @@ class rcube_imap extends rcube_storage
$structure[1] = $m[2];
}
else {
return $headers;
// Try to parse the message using Mail_mimeDecode package
// We need a better solution, Mail_mimeDecode parses message
// in memory, which wouldn't work for very big messages,
// (it uses up to 10x more memory than the message size)
// it's also buggy and not actively developed
if ($headers->size && rcube_utils::mem_check($headers->size * 10)) {
$raw_msg = $this->get_raw_body($uid);
$struct = rcube_mime::parse_message($raw_msg);
}
else {
return $headers;
}
}
}
$struct = $this->structure_part($structure, 0, '', $headers);
if (empty($struct)) {
$struct = $this->structure_part($structure, 0, '', $headers);
}
// don't trust given content-type
if (empty($struct->parts) && !empty($headers->ctype)) {

Loading…
Cancel
Save