Имя: Пароль:
1C
1C 7.7
v7: Получение почты в 1С 7.7 ROM -Mail
, , , , ,
0 rain65
 
24.09.15
16:44
Добрый день.
Прошу помощи у сообщества.
Загружаю с почтового сервера письма в 1с  7.7 в таблицу на форме.
Письма загружаются, но походу не в той кодировке. Корректно читаются только почтовые адреса отправителя и получателя. Тело письма и тема — кракозебры.
Может подскажете что не так? Код прилагаю.



Процедура ПолучитьПочту()  
    Попытка
        Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=0 Тогда
            Сообщить("Не удалось загрузить ROM-Mail.dll");
            Возврат;
        КонецЕсли;
    Исключение
        Возврат;
    КонецПопытки;    
    СтрТема=""; СтрАтт=""; Тело="";
    П.УдалитьСтроки();
    ВК=СоздатьОбъект("AddIn.AddInMail");
    ВК.СерверПриема=СокрЛП(СерверПриема);
    ВК.ПортПриема=СокрЛП(ПортПриема);
    ВК.Логин=СокрЛП(Логин);
    ВК.Пароль=СокрЛП(Пароль);
    ВК.ОставлятьНаСервере=1;
    ВК.ПоказыватьПредупреждения=0;
    ВК.КаталогВложений="С:\Temp";
    ВК.Кодировка="windows-1251";// тут я пробовал разные варианты кодировки
    ВК.ТипПисьма=2;
    
  Если ВК.Подключиться("Прием")=0 Тогда
        Предупреждение("Не удалось подключиться к серверу!");
        Возврат;
    КонецЕсли;              

    Для Индекс=1 По ВК.КоличествоСообщений() Цикл
        
        ВК.ПолучитьЗаголовок(Индекс);
    //    ВК.ПолучитьТело(Индекс);        
        ВК.ПолучитьСообщение(Индекс);
          
        П.НоваяСтрока();     
      
        П.Дата=ВК.ДатаОтправки;    
        П.От=СокрЛП(ВК.АдресОтправителя);
        П.Тема=СокрЛП(ВК.Тема);
        П.Кому=СокрЛП(ВК.АдресПолучателя);
        П.MessageID=ВК.IDMessage;      
                   П.Тело=СокрЛП(ВК.Тело);        
        П.Вложение=ВК.Вложения;
        П.ТипПисьма=ВК.ТипПисьма;
        П.Кодировка=ВК.Кодировка;
        П.Сотрудник=СокрЛП(ВК.ИмяОтправителя);
    //    П.КаталогВложений=КаталогИБ();
        //Для Инд=1 По ВК.КоличествоФайлов() Цикл
        //    ВК.ПолучитьФайл(Инд);
        //    ВК.СохранитьФайл(Инд,"");
        //КонецЦикла;
        ВК.КаталогВложений=КаталогИБ();    
        
    КонецЦикла;    
КонецПроцедуры
1 Масянька
 
24.09.15
16:50
(0) Точно пробовал "iso-8859-5"?
2 rain65
 
24.09.15
16:55
(1) Угу.....
3 rain65
 
25.09.15
09:24
Поможет кто?
4 rain65
 
28.09.15
09:23
Может есть у кого рабочий пример с ROM Meil получения почты?
Ну не хочет перекодировать тело, хоть ты убейся! (
5 zenik
 
28.09.15
10:14
А если заголовки у письма глянуть, и увидеть в заголовке:

Content-Type: text/plain; charset=utf-8

тогда и кодировку гадать не надо...
6 rain65
 
29.09.15
16:47
(5) Подробнее можно?
7 HawkEye
 
29.09.15
17:54
(6) он тебе предлагает разобрать заголовок и посмотреть в какой кодировке приходят к тебя письма
8 Serginio1
 
29.09.15
18:32
9 rain65
 
05.10.15
10:14
Это я понял.
Письма приходят в кодировке UTF-8.
Только вот как перекодировать? Насколько я понимаю, ROM Meil не умеет этого делать?
10 ЧеловекДуши
 
05.10.15
10:40
(0) Ром майл устарел, используй другую ВК :)
11 rain65
 
05.10.15
10:46
Диал мейл все нормально принимает. Но хотелось бы проблему с Ром мейлом решить.
12 ЧеловекДуши
 
05.10.15
10:57
(11) Сударь знает лекарство, но предпочел ходить на иголках :)
13 rain65
 
08.10.15
10:53
(12) В инете нашел функцию перекодировки из UTF-8.
Прикрутил. Тело письма  нормально перекодирует, полностью. Только вот поля Тема и Имя отправителя - получаю только первые 9 символов(если написано русским алфавитом), остальное пропадает. Отладчик показал, что это сам Ром отсекает остальные символы, декодер нормально отрабатывает. Никто не знает, как побороть?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn