--- mailhandler.retrieve.inc-old 2009-10-03 19:21:19.421875000 -0400 +++ mailhandler.retrieve.inc 2009-10-03 19:21:19.421875000 -0400 @@ -616,6 +616,7 @@ function mailhandler_get_unread_messages $unread_messages[] = imap_uid($result, $i); } + imap_close($result, CL_EXPUNGE); } return $unread_messages; @@ -732,19 +733,16 @@ function mailhandler_retrieve_message(&$ */ function mailhandler_cron_retrieve($mailbox) { - if ($result = mailhandler_open_mailbox($mailbox)) { - // Find out how many messages need retrieval - $new_messages = mailhandler_get_unread_messages($mailbox); - - // Initialise counters for maximum message retrieval - $max_messages = variable_get('mailhandler_max_retrieval', 0); - $retrieved_messages = 0; - - // Begin retrieval of messages - while ($new_messages && (!$max_messages || $retrieved_messages < $max_messages)) { - mailhandler_retrieve_message($result, $mailbox, array_shift($new_messages), $context); - $retrieved_messages++; - } - imap_close($result, CL_EXPUNGE); + // Find out how many messages need retrieval + $new_messages = mailhandler_get_unread_messages($mailbox); + + // Initialise counters for maximum message retrieval + $max_messages = variable_get('mailhandler_max_retrieval', 0); + $retrieved_messages = 0; + + // Begin retrieval of messages + while ($new_messages && (!$max_messages || $retrieved_messages < $max_messages)) { + mailhandler_retrieve_message($result, $mailbox, array_shift($new_messages), $context); + $retrieved_messages++; } }