gifts2017

Загрузка электронной почты за указанный период

Опубликовал Pavel Prosyannikov (2PRV) в раздел Обработки - Рабочее место

Обработка для загрузки электронной почты за указанный период
Обработка позволяет загружать заголовки эл. писем за указанный период и на основе выбранных заголовков загружать полное содержимое письма.

Многие организации при внедрении 1С документооборот сталкиваются с ситуацией, когда необходимо подвязать 1С к существующей учетной записи электронной почты, размер которой может составлять несколько Гб. В таком случае при использовании стандартной обработки "ЗагрузкаЭлектроннойПочты" все содержимое электронного ящика будет каждый раз загружаться в обработку, а это очень длительный процесс (до нескольких часов). К тому же 1С Документооборот предполагает, что на основе всех входящих эл. писем будут созданы входящие или  исходящие документы (при создании вх. или исх. документа на основе эл. письма это письмо полностью удаляется с почтового ящика), однако, это бессмысленно, если письма получены, к примеру, год назад. Поэтому стандартная обработка в данной ситуации не применима.

Моя обработка является расширением стандартной и позволяет:

  1. Значительно снизить трафик, а, следовательно, и время загрузки эл. писем за счет того, что первоначально загружаются только заголовки эл. письма (RFC 2076).
  2. Позволяет загрузить заголовки за конкретный период.
  3. Загрузить тело письма (все содержимое) на основе отмеченных заголовков.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ЗагрузкаЭлектроннойПочты
.epf 62,85Kb
21.01.14
32
.epf 1.0 62,85Kb 32 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алексей Логинов (A7758735) 21.01.15 09:15
Добрый день. А может ли эта обработка загружать и исходящие письма с почтового ящика?
2. Pavel Prosyannikov (2PRV) 21.01.15 19:12
(1) A7758735, Нет, с исходящей почтой не работает
3. Алексей Логинов (A7758735) 30.01.15 11:39
Жаль, не как не могу найти...
4. Артём Нефёдов (toxxicc) 26.02.15 11:40
Я так понимаю, что это обработка для разовой загрузки с одного указанного почтового аккаунта.
Будет ли в дальнейшем работать стандартное регламентное задание прием и отправка почты.
То есть регл. задание оттолкнется от последнего входящего сообщения?
5. Pavel Prosyannikov (2PRV) 26.03.15 05:03
(4) toxxicc,
Я так понимаю, что это обработка для разовой загрузки с одного указанного почтового аккаунта.
- не совсем так. Изначально планировалось данной обработкой заменить стандартную, т.к. отличается от базовой только лишь тем, что при первоначальной загрузке писем с почтового сервера не подтягивает вложения этих писем, что значительно снижает трафик и ускоряет процесс. Но как показала практика, если в почтовом ящике хранится больше 1К писем ждать даже когда загрузятся заголовки достаточно долго, поэтому считаю, что выход только один - создавать новый почтовый ящик, настраивать на него редирект со старого и забирать стандартной обработкой с него электронку, т.о мы избавимся от кучи ненужной старой почты.
Будет ли в дальнейшем работать стандартное регламентное задание прием и отправка почты.То есть регл. задание оттолкнется от последнего входящего сообщения?
нет никакого последнего входящего. Обработка загрузка эл. почты (как стандартная так и моя) загружает с почтового ящика всю, совершенно всю входящую эл. почту. Стандартная будет работать как и раньше
6. Pavel Prosyannikov (2PRV) 26.03.15 05:15
Считаю полезным в обработку в модуль формы "Создание внутреннего документа" в процедуру ПриСозданииНаСервере добавить следующий код:

Если Параметры.Свойство("Отправитель") И ЗначениеЗаполнено(Параметры.Отправитель) Тогда
		АдресЭП_Отправителя = Сред(Параметры.Отправитель,Найти(Параметры.Отправитель,"<")+1,Найти(Параметры.Отправитель,">")-Найти(Параметры.Отправитель,"<")-1);
	КонецЕсли;	
	Корреспонденты=Справочники.Корреспонденты.Выбрать();
	Пока Корреспонденты.Следующий() Цикл
		Для Каждого КонтактнаяИнформация Из Корреспонденты.КонтактнаяИнформация Цикл
			Если КонтактнаяИнформация.АдресЭП = АдресЭП_Отправителя Тогда
				ИскомыйКорреспондент = Корреспонденты.Ссылка;
			КонецЕсли;	
		КонецЦикла;	
	КонецЦикла;
	Если ЗначениеЗаполнено(ИскомыйКорреспондент) Тогда
	   Корреспондент=ИскомыйКорреспондент;
    КонецЕсли;
...Показать Скрыть


Данный кусок кода ищет в справочнике корреспонденты элемент справочника, у которого реквизит адрес электронной почты совпадает с адресом отправителя письма и если такой элемент находится, то он подставляется в форму.
7. Александр Забалуев (zabaluev) 03.07.15 18:37
С версией 2.0 не работает.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа