helpf.pro
Регистрация

v8: Не так работает ПолучитьЗаголовки()

arbuzyka2525
15.11.2012 16:55Прочитано: 7208
Добрый день.

Код 1C v 8.х
 
ПараметрыОтбораIMAP = Новый Структура;
//ПараметрыОтбораIMAP.Вставить("Новые", Истина);
ТекстТемы = "текст темы";
ПараметрыОтбораIMAP.Вставить("Тема", ТекстТемы);
Заголовки = ИнтернетПочта.ПолучитьЗаголовки(ПараметрыОтбораIMAP);


Это нашел https://help1c.com/faq8/view/468.html
Но этот код все равно мне выбирает ВСЕ заголовки (сообщения) полностью хоть что там в теме написано без разницы.
Может кто подскажет.
Yandex
Возможно, вас также заинтересует
Реклама на портале
Ermak
15.11.2012 17:07Ответ № 1
Это у меня так работает, может поможет )

Код 1C v 8.х
 Процедура ОсновныеДействияФормыЗагрузитьДанные(Кнопка)

Профиль = Новый ИнтернетПочтовыйПрофиль;

//Пропишем параметры соединения
//ip адрес или имя SMTP сервера
Профиль.АдресСервераSMTP = "192.111.1.10";

//Порт SMTP сервера
Профиль.ПортSMTP = 587;

//Имя пользователя почтового ящика
Профиль.Пользователь = "33333@mail.ru";

//Пароль доступа к почтовому ящику
Профиль.Пароль = "hp_5555";

//При необходимости добавляем аутентификацию
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
//СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПарольSMTP = "hp_5555";
Профиль.ПользовательSMTP = "33333@mail.ru";

// Создаем объект для работы с почтой
Почта = Новый ИнтернетПочта;

//Выполняем подключение, согласно указанный параметров
Попытка
Почта.Подключиться(Профиль);
Исключение
//При подключении возникла ошибка, сообщим
Сообщить("Ошибка при подключении к серверу" + ОписаниеОшибки());
Возврат;
КонецПопытки;

//Создаем новое письмо (сообщение)
Сообщение = Новый ИнтернетПочтовоеСообщение;

//Указываем отправителя
Сообщение.Отправитель = "33333@mail.ru";

//Заполняем получателя
Сообщение.Получатели.Добавить(ЭлементыФормы.Адрес.Значение);


//Пишем тему письма
Сообщение.Тема = ЭлементыФормы.Тема.Значение;

//Формируем текст письма,указываем тип письма
//Сообщение.Тексты.Добавить("Текст",ЭлементыФормы.Текст.ПолучитьТекст());
Сообщение.Тексты.Добавить(ЭлементыФормы.Текст.ПолучитьТекст(), ТипТекстаПочтовогоСообщения.HTML);


//При необходимости делаем вложение с файлом

Если ЗагрузкаВозможна() Тогда
Возврат;
КонецЕсли;

Если Файл = "Файл" Тогда
Сообщение.Вложения.Добавить(ПутьКФайлу);
Иначе
НайденныеФайлы = НайтиФайлы(ПутьККаталогу, "*.xls");
Для каждого ТекущийФайл Из НайденныеФайлы Цикл
Сообщение.Вложения.Добавить(ТекущийФайл.ПолноеИмя);
КонецЦикла;
КонецЕсли;


Если Файл = "Файл" Тогда
Сообщение.Вложения.Добавить(ПутьКФайлу);
Иначе
НайденныеФайлы = НайтиФайлы(ПутьККаталогу, "*.txt");

Для каждого ТекущийФайл Из НайденныеФайлы Цикл
Сообщение.Вложения.Добавить(ТекущийФайл.ПолноеИмя);
КонецЦикла;
КонецЕсли;
//Непосредственно отправка сообщения
Почта.Послать(Сообщение);

//После отправки закрываем соединение
Почта.Отключиться();



КонецПроцедуры

arbuzyka2525
15.11.2012 17:11Ответ № 2
не, так это отправка писем, она у меня тоже работает))) Но мне сейчас нужно получать сообщение которые на серваке, и тут проблема.
Ermak
15.11.2012 17:22Ответ № 3
на получение я не разбирался, если тебе не трудно когда разберешься закинь код посмотреть
arbuzyka2525
19.11.2012 16:26Ответ № 4
пока ни кто мне не помог все форумы молчал. поэтому делаю так:
Код 1C v 8.2 УП
 

ТекстТемы = "текст темы";
Заголовки = ИнтернетПочта.ПолучитьЗаголовки();
СписокИндексов = Новый СписокЗначений;
Для Каждого СтрокаЗаголовка ИЗ Заголовки Цикл
Если НЕ СтрокаЗаголовка.Тема = ТекстТемы Тогда
СписокИндексов.Добавить(Заголовки.Найти(СтрокаЗаголовка));
КонецЕсли;
КонецЦикла;
СписокИндексов.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
Для Каждого СтрокаСпискаИндексов ИЗ СписокИндексов Цикл
Заголовки.Удалить(СтрокаСпискаИндексов.Значение);
КонецЦикла;
Сообщения = ИнтернетПочта.Выбрать(Истина,Заголовки);

Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.