Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
Description
These lines are problematic in imap_transport.php:
while ( strpos( $response, $tag ) === false )
For example in the top() method:
This loop is running until there is a line with the $tag in it. So if the tag is A0001 and there is a "A0001" inside the mail (in the text or in the base64 attachment), the loop is stopped in the middle of the mail.
This detection of the end of the mail has to be enhanced. My first fix is this:
while ( strpos( $response, $tag . ' ' ) !== 0 )
This only finds occurrences of "A0001 " if it is at the beginning of a line, so this is better, but not perfect... I don't know what the perfect solution would be, I think there also has to be a ")" in the line before the end.