Имя: Пароль:
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 символов(если написано русским алфавитом), остальное пропадает. Отладчик показал, что это сам Ром отсекает остальные символы, декодер нормально отрабатывает. Никто не знает, как побороть?
Независимо от того, куда вы едете — это в гору и против ветра!