diff options
-rw-r--r-- | program/lib/imap.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 600b0d408..84d1b36b9 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -2576,11 +2576,11 @@ function iil_C_FetchStructureString(&$conn, $folder, $id) { $line = iil_ReadLine($fp, 5000); $line = iil_MultLine($fp, $line); list(, $index, $cmd, $rest) = explode(' ', $line); - if ($cmd != 'FETCH' || $index == $id) + if ($cmd != 'FETCH' || $index == $id || preg_match("/^$key/", $line)) $result .= $line; } while (!preg_match("/^$key/", $line)); - $result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13)); + $result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13, -(strlen($result)-strrpos($result, $key)+1))); } } return $result; |