Моя цель — иметь возможность использовать форму, флажок и кнопку отправки (кнопка удаления), чтобы удалить определенные электронные письма.
Я начинаю с этого сценария подключения:
<?php
//Inbox - Connect;
$inbox = imap_open($folder_inbox,$username,$password) or die('Error connecting to Gmail: ' . imap_last_error());
//Grab Inbox Emails;
$inbox_emails = imap_search($inbox,'ALL');
//If there are emails;
if($inbox_emails) {
//Output Arrays;
$inbox_from = array();
$inbox_subject = array();
$inbox_date = array();
$inbox_msg = array();
//Put the newest emails to the top;
rsort($inbox_emails);
//For each email, Give it an email number;
foreach($inbox_emails as $inbox_email_number) {
//Get information specific to this email;
$inbox_overview = imap_fetch_overview($inbox,$inbox_email_number,0);
$str_date = $inbox_overview[0]->date;
include('../func/inbox/grab/datefix.php');
mb_internal_encoding('UTF-8');
//Add email information to the arrays;
$inbox_read[] = $inbox_overview[0]->seen;
$inbox_from[] = str_replace('"',"", str_replace("_"," ", mb_decode_mimeheader($inbox_overview[0]->from)));
$inbox_subject[] = str_replace("_"," ", mb_decode_mimeheader($inbox_overview[0]->subject));
$inbox_date[] = $str_date;
//$inbox_msg[] = imap_fetchbody($inbox,$inbox_email_number,2);
}
}
//Close The Connection;
imap_close($inbox);
?>
я знаю как переместить письмо в корзину но я обеспокоен тем, что может быть условие гонки между получением набора идентификаторов для папки и, спустя несколько минут, запросом удаления одного из этих элементов.
Например, у меня есть форма, отображающая 2 темы письма, я устанавливаю флажок, относящийся к письму 1 с идентификатором «1», а затем нажимаю кнопку «Удалить», которая отправляет форму. Флажок будет иметь name="1"
параметр. Теперь, когда мы отправляем форму, скажем, на странице отправки она использует post, получает идентификатор 1, но, скажем, до того, как мы загрузили файл PHP, я получил новое письмо, не будет ли оно неправильно удалять новое письмо, а не письмо, которое мы проверяли?
Задача ещё не решена.
Других решений пока нет …