ZF-10501: Zend_Mail_Protocol_Imap : fetch specific parts of message failed on Dovecot
Description
Hello,
I think there is a problem when we request only one specific part. Actually, there is a comparison between id requested and id answered by imap server. If i fetch for exemple this one on Dovecot:
C: 6 FETCH 19 (BODY.PEEK[1])
I get:
S: * 4827313 FETCH (BODY[1]...
Please notice the lack of ".PEEK".
If I look at RFC 3501 (http://tools.ietf.org/html/rfc3501#section-7.4.2), there is no "BODY.PEEK" listed in the response of a fetch. So, i think Zend_Mail_Protocol_Imap must take this in consideration, if some Imap servers dont answers full "BODY.PEEK".
Here is a workaround :
if ($tokens[2][0] == $items[0] || $tokens[2][0] == str_replace('BODY.PEEK[', 'BODY[', $items[0])) {
...
I also notice that if we fetch one part in array, the function still answer a string. I think it's not right : if we pass a array for parameters $from, we are waiting for an array. If we passe a string, so get a string. Maybe it's another bug ?
Comments
No comments to display