CkMessageSet* messageSet = 0;
bool fetchUids = true;
// Get the message IDs of all the emails in the mailbox
messageSet = imap.Search("ALL", fetchUids);
if (imap.get_LastMethodSuccess() == false) {
textBox3->Text += stat + "Uid не найден" + "\r\n";
return;
}
// Fetch the emails into a bundle object:
CkEmailBundle* bundle = 0;
bundle = imap.FetchBundle(*messageSet);
if (imap.get_LastMethodSuccess() == false) {
delete messageSet;
textBox3->Text += stat + "Запись в Bundle не удалась" + "\r\n";
return;
}
int cL = checkedListBox1->SelectedIndex;
CkEmail* email = bundle->GetEmail(cL);
success = imap.SetMailFlag(*email, "Deleted", 1);
if (success != true) {
textBox3->Text += stat + "Флаг не выбран" + "\r\n";
return;
}
delete email;
success = imap.ExpungeAndClose();
if (success != true) {
textBox3->Text += stat + "ExpungeAndClose не выполнен" + "\r\n";
delete messageSet;
delete bundle;
return;
}
checkedListBox1->Items->RemoveAt(cL);
textBox3->Text += stat + "Сообщение удалено" + "\r\n";
bundle = imap.FetchSequenceHeaders(1, imap.get_NumMessages());
this->label5->Text = "Всего сообщений: " + bundle->get_MessageCount();
// Disconnect from the IMAP server.
success = imap.Disconnect();
delete messageSet;
delete bundle;