Имя: Пароль:
1C
1C 7.7
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
Не работает
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс