From: ckryzan at prosidio dot com
Operating system: Linux
PHP version: 4.4.0
PHP Bug Type: Mail related
Bug description: imap calls hang
Description:
------------
I am having a very similar issue, and it is very
reproduceable. The imap_fetchstructure(), imap_headers() and
imap_headerinfo() calls all fail -- without returning any
value whatsoever -- for what I have narrowed down to the
following condition: When the attachment file size is big
(>1MB it seems), these calls hang without returning. It is
very reproduceable, and I did a rather comprehensive set of
tests to determine what was triggering these calls to hang,
and this seems to be the culprit.
Reproduce code:
---------------
// Open an IMAP stream using the email configuration data
$mailbox =
imap_open("{".$this->data['server']."}INBOX",$this->data['user'],$this->data['password']);
if (!$mailbox) return false; // If the stream is unable to be opened,
return false
// Extract content from messages
for ($i=1; $i<=imap_num_msg($mailbox); $i++) { // Iterate through all
of
the headers
// Retrieve the message overview
$header = imap_headerinfo($mailbox,$i); // Retrieve an overview
of the
information contained in the message
print_r($header);
// Retrieve the message structure
$structure = imap_fetchstructure($mailbox,$i); // Retrieve the
structure
of the message
print_r($structure);
}
Expected result:
----------------
I would expect the header and structure to be printed for each
message in the mailbox. This does, in fact, happen, until it
encounters a message with an attachment that is relatively big
(>1MB more or less). At that point, I would expect it to
continue. Instead, the functions (pick any one of the three I
mention) simply hang, without returning any value. This is
connecting to a POP3 server. I can easily download the
messages to my desktop email client, repeatedly, by the way.
--
Edit bug report at http://bugs.php.net/?id=35011&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=35011&r=trysnapshot4
Try a CVS snapshot (php5.0):
http://bugs.php.net/fix.php?id=35011&r=trysnapshot50
Try a CVS snapshot (php5.1):
http://bugs.php.net/fix.php?id=35011&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=35011&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=35011&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=35011&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=35011&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=35011&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=35011&r=support
Expected behavior: http://bugs.php.net/fix.php?id=35011&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=35011&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=35011&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=35011&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=35011&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=35011&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=35011&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=35011&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=35011&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=35011&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=35011&r=mysqlcfg