Цитата |
---|
Ситуация следующая: при получении писем конфигурация (как и любой другой почтовик) должна понять - какие письма нужно загрузить, а какие уже загружены. Почтовый сервер не может хранить информацию о том, какие письма кому он отдал. |
ИнтернетПочта (InternetMail)
ПолучитьИдентификаторы (GetUIDL)
Синтаксис:
ПолучитьИдентификаторы(<МассивИдентификаторов>, <ПараметрыОтбора>)
Параметры:
<МассивИдентификаторов> (необязательный)
<ПараметрыОтбора> (необязательный)
Тип: Структура.
В качестве ключей структуры используются названия свойств письма, по которым осуществляется отбор.
Значения могут быть выражения следующих типов: Строка, Дата, Число, Булево.
Тип значения определяется ключом. Например, если требуется отобрать письма до определённой даты, то в качестве значения необходимо использовать выражения типа Дата.
Если в качестве значения используется строка, то регистр не имеет значения.
Если заданы несколько ключей, то они применяются последовательно по логическому И.
ОтправленОтвет (Answered) - Булево. Отобрать сообщения, у которых установлен флаг – Answered;
............
Прочитанные (Seen) - Булево. Отобрать сообщения, которые были прочитаны или не прочитаны;
Новые (New) - Булево. Отобрать новые или старые сообщения.
Возвращаемое значение:
Тип: Массив.
Описание:
Возвращает массив, содержащий идентификаторы всех или новых сообщений, находящихся в почтовом ящике на сервере.
Как видим из встроенной справки можно получать с сервера только новые письма. В crm 2.0 этот фильтр не установлен скорее всего по причине корректного совместного использования встроенной почты и внешнего почтового клиента. Этот метод отрабатывает ооочень медленно, и занимает львиную долю времени при получении почты (как впринципе и видно из приведенного замера производительности). Причем пробовал перенастроить протокол получения почты на IMAP скорости выполнения не добавило. У нас в CRM около 10 учетных записей электроной почты, подключеннных к CRM, регламентное задание получение писем отрабатывает где-то 5 мин, причем не важно лежит на сервере 1000 писем или 1-2. Скорость работы встроенного почтового клиента сильно огорчает. Причем производительность низкая на уровне платформы, а не CRM.
Цитата |
---|
Тот самый "МассивЗаголовковПисем", который и передается в метод, вызывающий зависание системы. |
Тут-то как раз все быстро делается запросом. Идентификаторы не такие уж и длинные.По крайней мере у нас почтовый сервер такие выдает.