I am using a php class etodb found here
http://www.phpclasses.org/package/3324-PHP-Retrieve-e-mail-messages-into-a-MySQL-database.html
It checks an email account and downloads the messages into a mysql database. It works perfectly, however at the end of each loop (looping for each message in the inbox) it deletes the email. I know how to stop it from deleting the email, but the issue is for some reason the script wont insert any new emails into the database unless I allow it to delete the messages OR the inbox is completely empty.
Here is the end portion of the php class referenced above. This section just loops through each message and inserts it into the database AND if set it will delete the messages. My question in summary is to just let the script work correctly without the need to delete messages or have an empty inbox.
$total_messages = $this->num_message();
// IM ASSUMING THIS FOR LOOP IS NOT LOOPING MESSAGES CORRECTLY
for ($i = 0; $i < $total_messages; $i++) {
#Get first message
$email = $this->email_get();
$ismsgdb = $this->db_add_message($email); // THIS INSERTS EACH MSG INTO DATABASE
#Get store dir
$dir = $this->dir_name();
$id_log = $this->add_db_log($email, 'Copy e-mail - start ');
foreach($this->partsarray as $part){
if($part[text][type] == 'HTML'){
#$message_HTML = $part[text][string];
$this->db_update_message($part[text][string], $type= 'HTML');
}elseif($part[text][type] == 'PLAIN'){
$message_PLAIN = $part[text][string];
$this->db_update_message($part[text][string], $type= 'PLAIN');
}elseif($part[attachment]){
#Save files(attachments) on local disc
// $message_ATTACH[] = $part[attachment];
foreach(array($part[attachment]) as $attach){
$attach[filename] = $this->mimie_text_decode($attach[filename]);
$attach[filename] = preg_replace('/[^a-z0-9_\-\.]/i', '_', $attach[filename]);
$this->add_db_log($email, 'Start coping file:"'.strip_tags($attach[filename]).'"');
$this->save_files($this->newid.$attach[filename], $attach[string]);
$filename = $dir.$this->newid.$attach[filename];
$this->db_add_attach($attach[filename], $filename);
$this->update_db_log('<b>'.$filename.'</b>Finish coping: "'.strip_tags($attach[filename]).'"', $this->logid);
}
//
}elseif($part[image]){
#Save files(attachments) on local disc
$message_IMAGE[] = $part[image];
foreach($message_IMAGE as $image){
$image[filename] = $this->mimie_text_decode($image[filename]);
$image[filename] = preg_replace('/[^a-z0-9_\-\.]/i', '_', $image[filename]);
$this->add_db_log($email, 'Start coping file: "'.strip_tags($image[filename]).'"');
$this->save_files($this->newid.$image[filename], $image[string]);
$filename = $dir.$this->newid.$image[filename];
$this->db_add_attach($image[filename], $filename);
$this->update_db_log('<b>'.$filename.'</b>Finish coping:"'.strip_tags($image[filename]).'"', $this->logid);
}
}
}
$this->spam_detect();
$this->email_setflag();
$this->email_delete(); // WHEN I REMOVE THIS THE SCRIPT WONT GRAB NEW EMAILS
$this->email_expunge(); // WHEN I REMOVE THIS THE SCRIPT WONT GRAB NEW EMAILS
$this->update_db_log('Finish coping', $id_log);
}