Skip to content

tapapax/mg_1c

Repository files navigation

	MessageGetter - это небольшая компонента для получения писем в "сыром" виде по протоколу POP3. Для определения письма используется UID (соответствующее расширение протокола должно поддерживаться сервером). Компонента отдает письма в формате RFC822, который может быть сохранен в файл EML и открыт после этого сторонним просмотрщиком, или распарсен каким-либо образом. Письмо отдатся полностью, со всеми вложениями и заголовками.

	Поддерживается только plaintext POP3.

	Зависимости: POCO, Addin1C (https://github.com/tapapax/Addin1C)

Использование
	Компонента публикует объект MessageGetter с методом ПолучитьПисьмо(GetMessage):

	Письмо = Компонента.ПолучитьПисьмо("server[:port]", "login", "password", "messageUID");

	В случае успеха, компонента вернет двоичные данные письма. Их можно сразу записать на диск в виде EML файла. В случае ошибки сгенерируется исключение. Получить описание можно методом компоненты ОписаниеОшибки(ErrorDescription).

Пример использования:
	Если НЕ ПодключитьВнешнююКомпоненту(ПутьККомпонентеИлиМакетуСНей, "MG", ТипВнешнейКомпоненты.Native) Тогда
		ВызватьИсключение "Подключить компоненту не удалось!";
	КонецЕсли;

	Компонента = Новый("AddIn.MG.MessageGetter");

	Попытка
		Письмо = Компонента.ПолучитьПисьмо("pop.ya.ru", "[email protected]", "passwd", "123456");
	Исключение
		ВызватьИсключение ОписаниеОшибки() + ": " + Компонента.ОписаниеОшибки();
	КонецПопытки;
	 
	Письмо.Записать("C:\temp\message.eml");
	ЗапуститьПриложение("C:\temp\message.eml"); // запустится outlook или другой клиент

Как узнать идентификатор (UID)?
	Если к сообщению уже получен доступ через объект ИнтернетПочтовоеСообщение, то получить доступ к идентификатору письма можно методом "Идентификатор":
	
	УИД = ИнтернетПочтовоеСообщение.Идентификатор[0];
	
	Именно его следует передавать четвертым параметром метода ПолучитьПисьмо.

About

Email addin for 1C:Enterprise 8.x

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages