Skip to Content

Получить письма (IMAP)

Eng: Receive mail (IMAP)

alt

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

Свойства

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

СвойствоТипОписание
Сервер:
Сервер*StringАдрес почтового сервера
Порт*Int32Порт почтового сервера. По умолчанию 993
Логин*StringЛогин почтового сервера
ПарольStringПароль почтового сервера
Защищенный парольSecureStringПри использовании зашифрованного пароля укажите его в этом поле. Пароль в формате SecureString не хранится в открытом виде даже в памяти компьютера. Получить его можно, например, из Диспетчера учетных данных (Credential Manager)
Использовать SSOBooleanОпределяет, нужно ли использовать Secure Socket Options (SSO) - набор параметров и настроек для безопасной передачи данных через защищенное сокет-соединение. По умолчанию параметр отключен. Настройка добавлена в версии 23.11
SSO-Способ указания шифрования, которое должно использоваться для сокет-соединения. Значение учитывается, только если включен параметр «Использовать SSO». В этом случае при подключении к почтовому серверу будет использовано SSO и проигнорировано свойство SSL
SSL*BooleanПризнак использования сервером соединения SSL
Игнорировать сертификатBooleanУстановка флага отключает проверку SSL-сертификата сервера. По умолчанию сертификат сервера проверяется. Отключение проверки SSL-сертификата может привести к проблемам информационной безопасности (!), поэтому параметр следует использовать только в исключительных случаях, когда невозможно без него обойтись
Папка*StringПапка входящих сообщений
Только непрочитанные*BooleanПолучать только непрочитанные сообщения
Метить, как прочитанные*BooleanАвтоматически метить полученные сообщения, как прочитанные
Метить, как непрочитанные*BooleanАвтоматически метить полученные сообщения, как непрочитанные
Дата от*DateTime?Дата начала фильтра сообщений
Дата до*DateTime?Дата окончания фильтра сообщений
Получать вложения*BooleanПризнак получения вложений
ИдентификаторыList<String>Массив идентификаторов получаемых сообщений
ПисьмаList <LTools.Network.Model.EMail.MailMessage>Массив сообщений
КоличествоInt32Количество сообщений
Сортировка-Тип сортировки сообщений. По умолчанию установлено значение Default - сортировка, используемая на сервере. Возможно выбрать сортировку по дате отправке письма: 1) By Date Asc - сортировка по возрастанию даты (от старой к новой); 2) By Date Desc - сортировка по убыванию даты (от новой к старой)
Программная сортировкаBooleanПараметр включает сортировку писем на стороне робота. Позволяет использовать сортировку в тех случаях, когда почтовый сервер ее не поддерживает (например, mail.ru). Ограничение: не рекомендуем использовать эту функцию при работе с большим количеством писем, например, свыше тысячи. Поскольку для сортировки необходимо считывать все письма из электронного ящика, это может потреблять много оперативной памяти
Таймаут*Int32Предельное время ожидания завершения процесса, указывается в миллисекундах. По умолчанию 10000
Сообщение:
Результат*List <LTools.Network.Model.EMail.MailMessage>Массив полученных сообщений

Примечания

  • Использование сортировки в IMAP: Чтобы сортировать письма по дате от старых к новым (опция By Date Asc), активируйте опцию Программная сортировка, установив соответствующий флажок.
  • C версии 1.24.4 cвойство Результат (PROP_RESULT_NAME) для Только код теперь не является обязательным.

Только код

Пример использования элемента в процессе с типом Только код (Pure code):

List<LTools.Network.Model.EMail.MailMessage> mail = LTools.Network.MailApp.IMAPReceive(wf, "server", 443, "login", "password", "inbox", false, true, false, new List<string>() { "id1" }, DateTime.Now.AddDays(-2), DateTime.Now, false, false, 10000); List<LTools.Network.Model.EMail.MailMessage> mail2 = LTools.Network.MailApp.IMAPReceive(wf, "server", 443, "login", "password", "inbox", false, true, false, new List<LTools.Network.Model.EMail.MailMessage>(), DateTime.Now.AddDays(-2), DateTime.Now, false, false, 10000);