![]() |
![]() |
|
Работа с почтой. Как удалить письма с сервера? Ø |
☑ | ||
---|---|---|---|---|
0
НовенькийЯ
23.07.06
✎
09:32
|
Есть обработка в которой можно просмотреть почту, открыть вложения и... удалить сообщения.
так вот при удалении сообщений они не удаляются, а становятся невидимыми для выборки, а на сервере до сих пор лежат. вот код: Почта=Новый ИнтернетПочта(); Попытка Почта.Подключиться(ПочтовыйПрофиль); Исключение Сообщить("Ошибка при подключении к почтовому профилю!",СтатусСообщения.ОченьВажное); Возврат; КонецПопытки; ВсеСообщения=Почта.Выбрать(Ложь); Для Каждого Сообщение Из ВсеСообщения Цикл Попытка Если Сообщение.ИдентификаторСообщения=Идентификатор тогда МассивСообщений=Новый Массив; МассивСообщений.Добавить(Сообщение); Почта.УдалитьСообщения(МассивСообщений); Прервать; КонецЕсли; Исключение Сообщить("Ошибка при получении почты: "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное); Отказ=Истина; КонецПопытки; КонецЦикла; Почта.Отключиться(); Подскажите что я делаю не так? Писем навалилось уже много, а удалить их ни как не могу. И еще вопрос, почему выборка ВсеСообщения=Почта.Выбрать(Ложь); Для Каждого Сообщение Из ВсеСообщения Цикл *** *** КонецЦикла; Долго отрабатывает? З.Ы. Почтовый сервер находится в локальной сети, т.е. скорость обмена с сервером очень большая. |
|||
1
НовенькийЯ
24.07.06
✎
08:38
|
попробуя так UP
Не ужели никто с почтой в 1С8.0 не работал??? |
|||
2
НовенькийЯ
24.07.06
✎
08:55
|
Всем спасибо, разобрался сам, тока не пойму почему сейча работает а раньше нет, в принципе одно и тоже делается. Вот код:
МассивСообщений.Очистить(); ВсеСообщения=Почта.Выбрать(Ложь); Сообщения.Очистить(); Для Каждого Сообщение Из ВсеСообщения Цикл Попытка МассивСообщений.Добавить(Сообщение); МассивСообщений - это переменная типа Массив, заполняется в момент чтения почтового ящика. Почта=Новый ИнтернетПочта(); Попытка Почта.Подключиться(ПочтовыйПрофиль); Исключение Сообщить("Ошибка при подключении к почтовому профилю!",СтатусСообщения.ОченьВажное); Возврат; КонецПопытки; Для каждого Сообщение из МассивСообщений Цикл Попытка Если Сообщение.ИдентификаторСообщения=Идентификатор тогда СообщенияНаУдаление=Новый Массив; СообщенияНаУдаление.Добавить(Сообщение); Почта.УдалитьСообщения(СообщенияНаУдаление); СообщенияНаУдаление.Очистить(); Прервать; КонецЕсли; Исключение Сообщить("Ошибка при получении почты: "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное); Отказ=Истина; КонецПопытки; КонецЦикла; Почта.Отключиться(); т.е. в первом случае я перебирал сообщения в почтовом ящике и удалял нужное из них, во втором случая я перебираю массив с сообщениями, и потом уже нужное сообщение удаляю с сервера. При этом ИМХО резкльтат должен быть одинаковым, а как показала практика, результаты разные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |