helpf.pro
Регистрация
 +1 
Распечатать

1С 8.x : Получение почты используя IMAP или POP3

В данном примере используется IMAP и POP3
Для использования POP3 раскомментируйте строки и Профиль.АутентификацияPOP3 = Истина;

Код 1C v 8.2 УП
 &НаКлиенте
Процедура ПолучитьСообщений(Команда)

ПутьСохранения = "D:\temp";

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

//Профиль.АдресСервераPOP3 = "re05.hc.ru";
//Профиль.ПортPOP3 = "995";
//Профиль.Пользователь = "robot@site.ru";
//Профиль.Пароль = "11223344";
Профиль.АутентификацияPOP3 = Ложь;
Профиль.АутентификацияSMTP = Ложь;


// IMAP
Профиль.ИспользоватьSSLIMAP = Истина;
Профиль.АдресСервераIMAP = "re05.hc.ru";
Профиль.ПортIMAP = "993";
Профиль.ПользовательIMAP = "robot@site.ru";
Профиль.ПарольIMAP = "11223344";
Профиль.ТолькоЗащищеннаяАутентификацияIMAP=Ложь;

Почта = Новый ИнтернетПочта;

Сообщ = Новый СообщениеПользователю();

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

// Массив будет содержать сообщения, которые в последствии будут удалены с сервера
МассивСообщенийОбмена = Новый Массив;

Если МассивСообщений.Количество() = 0 Тогда
// Сообщений в почтовом ящике нет
Сообщ.Текст = "Сообщений в почтовом ящике нет.";
Сообщ.Сообщить();
Возврат;
КонецЕсли;

ИмяФайлаСообщения = "";
Для Индекс = 0 По МассивСообщений.Количество() - 1 Цикл
// Отбираем только сообщения, которые содержат файлы прайсы, остальное спам )
ЧастьТемы = "Price list";
Если Лев(МассивСообщений[Индекс].Тема, СтрДлина(ЧастьТемы)) = ЧастьТемы Тогда
Попытка
// Записываем файл
МассивСообщений[Индекс].Вложения[0].Данные.Записать(ПутьСохранения+"\"+МассивСообщений[Индекс].Вложения[0].ИмяФайла);
Сообщ.Текст = "Принят файл: " + МассивСообщений[Индекс].Вложения[0].ИмяФайла + " с адреса " + Профиль.Пользователь;
Сообщ.Сообщить();
Исключение
Сообщ.Текст = "Похоже нет файла в письме ) ";
Сообщ.Сообщить();
КонецПопытки;
Иначе
Почта.УдалитьСообщения(МассивСообщений[Индекс]);
КонецЕсли;
КонецЦикла;

Сообщ.Текст = "Сообщения получены!";
Сообщ.Сообщить();
Почта.Отключиться();

КонецПроцедуры
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 43477
 +1 
Распечатать
Возможно, вас также заинтересует
SMTP greeting failure: 421 SMTP connection broken (reply) 8
Опи­са­ние ошиб­ки: С сен­тяб­ря 2014 Ян­декс.Почта, Mail.ru пе­ре­шли на про­то­кол SSL, что сде­ла­ло их еще более без­опас­ны­ми. Чтобы и даль­ше ра­бо­тать с пись­ма­ми через 1С, Вам нужно из­ме­нить их на­строй­ки и вне­сти до­ра­бот­ки в код
В отчет не попадают данные за последний день… Как исправить? 0
Пользователь выбрал период формирования отчета с 1июля по 31. Почему при формировании отчета в него не попадают данные за 31 число? На самом деле, это одна из самых распространенных ошибок при разработке отчетов. В 1С 8.х дата содержит время с точно
Как вывести всплывающее сообщение пользователю? 2
В 8.2 нужно воспользоваться функцией ПоказатьОповещениеПользователя ПоказатьОповещениеПользователя(" Документ не записан!" , " http://doc.ru" , " О правилах заполнения документа, читайте здесь!" , БиблиотекаКартинок.Важно); #Если Клиент Тогд
Как организовать работу с почтой без установленного почтового клиента на компьютере пользователя? 2
// Сформировать почтовый профиль. // При отправке нет необходимости указывать настройки, связанные с POP сервером. ИПП = Новый ИнтернетПочтовыйПрофиль; ИПП.АдресСервераSMTP = Константы.АдресСервераSMTP.Получить(); ИПП.ВремяОжидания = Константы.В
Как получить и отправить почту? (ИнтернетПочта, ИнтернетПочтовыйПрофиль, ИнтернетПочтовоеСообщение) 5
Отправка // отправка почтового сообщения... Профиль = новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = " smtp.yandex.ru" ; Профиль.ПользовательSMTP = " 111" ; Профиль.ПарольSMTP = " 222222" ; // ПРофиль.АутентификацияSMTP = СпособSM
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.