summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/lib/imap.inc4
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;