function deleteSpamMessages($email, $dateSince) { global $CYRUS; $cyr_conn = new cyradm(); $error_msg = ""; $error = $cyr_conn->imap_login(); $dataEmail = explode("@", $email); if ($error === FALSE) { $error_msg = "IMAP login error: {$error} <br>"; } else { $seperator = '/'; $bValido = $cyr_conn->command(". select \"user" . $seperator . $dataEmail[0] . $seperator . "Spam@" . $dataEmail[1] . "\""); if (!$bValido) { $error_msg = "Error selected Spam folder:" . $cyr_conn->getMessage() . "<br>"; } else { $bValido = $cyr_conn->command(". SEARCH NOT SINCE {$dateSince}"); // busca los email que no empiecen desde la fecha dada if (!$bValido) { $error_msg = "error cannot be added flags Deleted to the messages of Spam folder for {$email}:" . $cyr_conn->getMessage() . "<br>"; } else { $sal = explode("SEARCH", $bValido[0]); $uids = trim($sal[1]); //ids de mensajes if ($uids != "") { //$bValido=$cyr_conn->command(". store 1:* +flags \Deleted"); $uids = trim($uids); $uids = str_replace(" ", ",", $uids); if (strlen($uids) > 100) { $arrID = explode(",", "{$uids}"); $size = count($arrID); $limitID = $arrID[0] . ":" . $arrID[$size - 1]; $bValido = $cyr_conn->command(". store {$limitID} +flags \\Deleted"); } else { $bValido = $cyr_conn->command(". store {$uids} +flags \\Deleted"); } // messages $uids = 1 2 4 5 7 8 if (!$bValido) { $error_msg = "error cannot be deleted the messages of Spam folder for {$email}:" . $cyr_conn->getMessage() . "<br>"; } else { $bValido = $cyr_conn->command(". expunge"); if (!$bValido) { $error_msg = "error cannot be deleted the messages of Spam folder for {$email}:" . $cyr_conn->getMessage() . "<br>"; } /*else{ $bValido=$cyr_conn->command(". noop"); if(!$bValido) $error_msg = "error cannot be deleted the messages of Spam folder for $email:".$cyr_conn->getMessage()."<br>"; }*/ } } } } $cyr_conn->imap_logout(); } return $error_msg; }