Добрый день, у меня проблема при работы с imap, а именно при выборе папки. Работаю с библиотекой chilkat.
Есть вот такая штука, которая выводит названия всех папок
// Выбор папки
refName = "";
wildcardedMailbox = "*";
mboxes = imap.ListMailboxes(refName, wildcardedMailbox);
if (imap.get_LastMethodSuccess() == false) {
textBox3->Text += stat + "Ошибка подсчета папок" + "\r\n";;
return;
}
С помощью
checkedListBox
, я их вывожу в список, а после выбора галочкой нужной папки, вот этот код должен передать название папки сюда
for (int i = 0; i < mboxes->get_Count(); i++) {
if ((checkedListBox2->SelectedIndex) == i)
{
System::String^ mlBox = gcnew System::String(mboxes->getName(i));
mlBox = mlBox + "\r\n";
mailBoxes = (char*)Marshal::StringToHGlobalAnsi(mlBox).ToPointer();
}
i = i + 1;
}
и по логике вещей должны выводится сообщения
// Вывод списка сообщений
CkEmailBundle* bundle = 0;
bundle = imap.FetchSequenceHeaders(1, imap.get_NumMessages());
this->label5->Text = "Всего сообщений: " + bundle->get_MessageCount();
for (int i = 0; i <= bundle->get_MessageCount() - 1; i++) {
CkEmail* email = 0;
email = bundle->GetEmail(i);
CkEmail* emailHeader = bundle->GetEmail(i);
for (int j = 0; j <= email->get_NumTo() - 1; j++) {
const char* name = email->ck_from();
const char* addr = email->subject();
System::String^ from = gcnew System::String(email->ck_from());
System::String^ subj = gcnew System::String(email->subject());
checkedListBox1->Items->Add("От кого: " + from + ". Тема: " + subj);
}
}
Но по какой то неведомой причине, мне приходит ошибка, тип папки такой нет. Работает только папка Inbox (Входящие), остальные нет. В чем может быть проблема?