![]() |
![]() |
![]() |
|
v7: Загрузка вложений электронной почты при помощи ROM-Mail.dll | ☑ | ||
---|---|---|---|---|
0
Dizel
09.08.11
✎
18:42
|
На компе стоит Vista, zip файлы с именами вида INF111 сохраняются нормально, а xls с именем вида zakaz120-1 сохраняет как "=_UTF-8_B_emFrYXoxNTEtNC54bHN4_=" без расширения. Если сталкивались, подскажите как бороться.
|
|||
1
andrewks
09.08.11
✎
18:47
|
dialmail.dll можно заюзать
|
|||
2
Dizel
09.08.11
✎
18:51
|
с dialmail.dll чето шурупов не хватает как загрузить вложения
|
|||
3
andrewks
09.08.11
✎
18:57
|
да там вроде примеры нехилые такие идут, в чём проблема-то?
на вот тебе до кучи кусочек из моей обработки: Функция ПолучитьФайлы(ФильтрТемы,Удалять=1) ПолучениеПочты.РабочийКаталог=ПапкаПочты; Если ПолучениеПочты.Подключиться("pop.mail.ru",110,Логин,Пароль,1,3)=0 тогда Если ТихийРежим<>1 Тогда Предупреждение("Не удалось подключиться к почтовому серверу!"); КонецЕсли; Возврат 0; КонецЕсли; Данные=""; Рез=ПолучениеПочты.ЛистИД(,Данные); Для пц=1 По ПолучениеПочты.КоличествоПисем() Цикл Номер=ПолучениеПочты.ПолучитьНомерПисьма(пц); //ТекИД=ПолучениеПочты.ПолучитьИДПисьма(пц); ПолучениеПочты.ПолучитьЗаголовокПисьма(Номер,1); ТекТема=ПолучениеПочты.ТемаПисьма; Если Лев(ТекТема,СтрДлина(ФильтрТемы))=ФильтрТемы Тогда //подходящее письмо Если ПолучениеПочты.ПолучитьПисьмо(Номер,Удалять)=1 Тогда //письмо успешно получено КонецЕсли; КонецЕсли; КонецЦикла; ПолучениеПочты.Отключиться(); // извлекаем присоединенные файлы Для пц=1 По ПолучениеПочты.КоличествоПисемВРабочемКаталоге Цикл ПолучениеПочты.РаспаковатьПисьмо(пц); ТекТема=ПолучениеПочты.ТемаПисьма; Если Лев(ТекТема,СтрДлина(ФильтрТемы))=ФильтрТемы Тогда //подходящее письмо Для нф=2 По ПолучениеПочты.КоличествоПрисоединенныхФайлов Цикл ИмяАттач=ПолучениеПочты.ПолучитьИмяПрисоединенногоФайла(нф); Если ФС.СуществуетФайл(ПапкаОсн+ИмяАттач)=1 Тогда ФС.УдалитьФайл(ПапкаОсн+ИмяАттач); КонецЕсли; ИмяАттач=ПолучениеПочты.СохранитьПрисоединенныйФайл(нф,ПапкаОсн); КонецЦикла; КонецЕсли; КонецЦикла; ПолучениеПочты.ОчиститьРабочийКаталог(); Возврат 1; КонецФункции |
|||
4
Dizel
09.08.11
✎
18:58
|
Спасибо, сейчас попробую.
|
|||
5
Dizel
09.08.11
✎
19:21
|
Не работает
//******************************************* Процедура Сформировать() Если ЗагрузитьВнешнююКомпоненту("DialMail.dll")=0 Тогда Сообщить("Не удалось обнаружить компоненту DialMail.dll!"); Возврат ; КонецЕсли; Попытка ПолучениеПочты = СоздатьОбъект("AddIn.POP3"); ПолучениеПочты.ВестиЛогФайл = 1; ПолучениеПочты.ИмяЛогФайла = "c:\dialmail.pop3.log"; Сообщить(ПолучениеПочты.ВерсияОбъектаСтр); Исключение Сообщить("Не удалось создать объект из компоненты DialMail.dll!"); Возврат ; КонецПопытки; ПолучениеПочты.РабочийКаталог =КаталогПользователя(); Если ПолучениеПочты.Подключиться("pop.mail.ru", "110", "****", "****",1,1)=0 тогда Предупреждение("Не смогли подключиться к POP3-серверу"); Возврат ; КонецЕсли; Сообщить(ПолучениеПочты.КоличествоПисем); Данные=""; Рез=ПолучениеПочты.ЛистИД(,Данные); Для пц=1 По ПолучениеПочты.КоличествоПисем() Цикл Номер=ПолучениеПочты.ПолучитьНомерПисьма(пц); ПолучениеПочты.ПолучитьЗаголовокПисьма(Номер,1); ТекТема=ПолучениеПочты.ТемаПисьма; Если ПолучениеПочты.ПолучитьПисьмо(Номер,0)=1 Тогда //письмо успешно получено КонецЕсли; КонецЦикла; ПолучениеПочты.Отключиться(); Для пц=1 По ПолучениеПочты.КоличествоПисемВРабочемКаталоге Цикл ПолучениеПочты.РаспаковатьПисьмо(пц); ТекТема=ПолучениеПочты.ТемаПисьма; Для нф=2 По ПолучениеПочты.КоличествоПрисоединенныхФайлов Цикл ИмяАттач=ПолучениеПочты.ПолучитьИмяПрисоединенногоФайла(нф); ПолучениеПочты.СохранитьПрисоединенныйФайл(нф,"D:\VVV"); КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
6
Dizel
09.08.11
✎
19:22
|
Не работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |