Hi,
When i want to remove the current message i get this error:
Code:
Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'the single id was not found in response' in /usr/share/php5/Zend/Mail/Protocol/Imap.php:591
Stack trace:
#0 /usr/share/php5/Zend/Mail/Storage/Imap.php(137): Zend_Mail_Protocol_Imap->fetch(Array, 2)
#1 /usr/share/php5/Zend/Mail/Storage/Abstract.php(298): Zend_Mail_Storage_Imap->getMessage(2)
#2 /opt/dis.pcextreme.nl/htdocs/v2/library/functions.inc.php(18): Zend_Mail_Storage_Abstract->current()
#3 /opt/dis.pcextreme.nl/htdocs/v2/index.php(11): taskqueue_step_one(Array)
#4 {main}
thrown in /usr/share/php5/Zend/Mail/Protocol/Imap.php on line 591
My script looks like this:
PHP Code:
<?php
require_once('Zend/Loader.php');
Zend_Loader::loadClass('Zend_Mail_Storage_Imap');
$imap_cfg = array();
$imap_cfg['host'] = "SERVER";
$imap_cfg['user'] = "USER";
$imap_cfg['pass'] = "PASS";
function taskqueue_step_one($imap_cfg)
{
$mail = new Zend_Mail_Storage_Imap(array(
'host' => $imap_cfg['host'],
'user' => $imap_cfg['user'],
'password' => $imap_cfg['pass']));
//$step_one[0]['totaal'] = $mail->countMessages();
foreach ($mail as $messageNum => $message)
{
$step_one[$messageNum]['subject'] = $message->subject;
$step_one[$messageNum]['from'] = $message->from;
$step_one[$messageNum]['date'] = $message->getHeader('date');
$step_one[$messageNum]['content'] = $message->getContent();
$mail->removeMessage($messageNum);
}
return $step_one;
}
$step_one = taskqueue_step_one($imap_cfg);
echo "<pre>"; print_r($step_one); echo "</pre>";
?>
When i run this script it shows the error and deletes all the mails, not just the current one.
When i run this script with removeMessage commented it does what i want (but doesn't delete mail).
What am i doing wrong?
Thank you!