1С: чтение почты по протоколу IMAP
Прилетела задача прочитать сообщение из почтового ящика по протоколу IMAP. Последнее из пришедших. В принципе в 1С есть штатный функционал для чтения почты, поэтому пример всё сам расскажет за себя:
Процедура ЧитнутьНаСервереImap()
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АутентификацияPOP3 = Ложь;
Профиль.АутентификацияSMTP = Ложь;
// IMAP
Профиль.ИспользоватьSSLIMAP = Истина;
Профиль.АдресСервераIMAP = "цукацу-укацука.уцкацук.ru";
Профиль.ПортIMAP = "993";
Профиль.ПользовательIMAP = "укацу@укацукау.ru";
Профиль.ПарольIMAP = "цукацукацук";
Профиль.ТолькоЗащищеннаяАутентификацияIMAP=Ложь;
Почта = Новый ИнтернетПочта;
Сообщ = Новый СообщениеПользователю();
Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP); //ПротоколИнтернетПочты.POP3
заголовки=Почта.ПолучитьЗаголовки();
если заголовки.Количество()>0 тогда
ПоследнийЗаголовок=Новый Массив();
ПоследнийЗаголовок.Добавить(заголовки[заголовки.Количество()-1]);
МассивСообщений = Новый Массив;
МассивСообщений = Почта.Выбрать(Ложь,ПоследнийЗаголовок);
ТекстСообщения=МассивСообщений[0].тексты[0].Текст;
сообщить(ТекстСообщения);
конецесли;
Почта.Отключиться();
КонецПроцедуры
Из особенностей логики — сначала вычитываю заголовки, т.к. если почты много, то чтение писем будет ОЧЕНЬ долгим. Далее получаю последний по счету заголовок, и вычитываю текст конкретно уже этого письма.

Другие статьи по тегу 1С можете почитать тут