Прочитать письма

Описание
Блок получает электронные письма из почтового ящика с использованием протокола IMAP.
Описание параметров
Блок имеет ряд параметр:
-
Логин - логин от почтового аккаунта отправителя;
Тип данных:
str (Строка)
Пример:
user
-
Пароль - пароль от почтового аккаунта отправителя;
Тип данных:
str (Строка)
Пример:
password
-
Настройки сервера - адрес почтового сервера;
Тип данных:
str (Строка)
Пример:
imap.puzzlerpa.ru
-
Кодировка сервера - кодировка почтового сервера;
Тип данных:
str (Строка)
Пример:
KOI8-R
-
Порт - номер порта;
Тип данных:
int (Целое число)
Пример:
993
-
SSL/TLS - используемый протокол безопасности (SSL/TLS);
Тип данных:
checkbox (Чекбокс)
Пример:
Истина
-
Получить тело сообщения в формате - формат получаемых сообщений;
Тип данных:
str (Выпадающий список)
Пример:
текст
-
Сохранить вложения - директория для сохранения вложений;
Тип данных:
str (Строка)
Пример:
C:\folder
Дополнительные параметры
Дополнительно нажатием на + можно добавлять следующие параметры:
- Дату, с которой получать сообщения;
- Дату, до которой получать сообщения;
- Отправителя;
- Получателя;
- Тему сообщения;
- Тело сообщения;
- Подстроку в теме или теле сообщения;
- ID-сообщения;
- Наличие вложения;
- Наличие флага;
- Получить только не прочитанные;
- Отметить сообщение прочитанным;
- Отметить сообщение флагом.

Возвращаемое значение
Блок возвращает массив писем, полученных с почтового сервера.
[ { 'subject': 'Тема сообщения', 'name_from': 'Имя отправителя', 'email_from': 'Адрес почты отправителя', 'name_to': 'Имя получателя', 'email_to': 'Адрес почты получателя', 'other_emails_to': None, 'date': '2025-10-07 22:44:04+03:00', 'body': 'Тело сообщения', 'uid': '230', 'there_is_file': 'True', 'attachments_path': 'C:\папка_для_сохранения_вложений', 'attachments_list': ['C:\папка_для_сохранения_вложений\вложение_1.txt', 'C:\папка_для_сохранения_вложений\вложение_2.txt'] }, ...]
Каждое письмо представлено в виде словаря со следующими ключами:
- subject — тема письма;
- name_from — имя отправителя (если указано в письме);
- email_from — адрес электронной почты отправителя;
- name_to — имя основного получателя письма;
- email_to — адрес электронной почты основного получателя;
- other_emails_to — список дополнительных адресов получателей из поля «Кому»;
- date — дата и время получения письма в формате
YYYY-MM-DD HH:MM:SS±HH:MM
; - body — текстовое содержимое письма (тело сообщения);
- uid — уникальный идентификатор письма на IMAP-сервере, используемый для однозначной идентификации сообщения в рамках почтового ящика;
- there_is_file — флаг, указывающий, содержит ли письмо вложения (True или False в виде строки);
- attachments_path — путь к локальной папке, в которую сохранены все вложения из данного письма;
- attachments_list — массив полных путей к сохранённым файлам-вложениям. Каждый элемент — строка с абсолютным путём к файлу. Если вложений нет, список может быть пустым.
Сохранение вложений
Вложения сохраняются в директорию указанную в разъеме Сохранить вложения в и сортируются по UID сообщений.

Пример работы с вложениями
В данном примере демонстрируется перебор вложений из полученного письма. Для этого:
- В переменную messages сохраняется список писем, загруженных с почтового сервера;
- В переменную message записывается последнее письмо из этого списка;
- Из словаря message извлекается значение по ключу attachments_list и сохраняется в переменную attachments_list — это список путей к сохранённым вложениям;
- Выполняется итерация по списку attachments_list, и каждый путь к файлу выводится на экран.

Пример использования
В данном примере демонстрируется работа с полученными сообщениями - извлечение тела сообщения (body):
- В переменную messages сохраняется список писем, загруженных с почтового сервера. Установлены фильтры:
- Дата с которой получать сообщения - получить сообщения с 10.10.2025;
- Тема сообщения - получить сообщения с темой “Сообщение от Puzzle RPA”;
- Наличие вложения - (Истина) получить только сообщения с вложением;
- Получить только непрочитанные - (Истина) получить только непрочитанные сообщения.
- Итерация по сообщениям и вывод на экран тела сообщения (по ключу body)

Результат
Вывод результата на экран:
