Files

1.8 KiB

email-attachments Specification

MODIFIED Requirements

Requirement: Вложения сохраняются в каталог письма

Для каждого письма с вложениями (флаг has_attachment: true в frontmatter) вложения MUST быть сохранены в подкаталог attachments/ каталога письма (/opt/hermes/email/<folder>/YYYY/MM/<uid>/attachments/). Скачивание выполняется как при опросе по расписанию (текущее поведение), так и при событийной синхронизации (сервис imap-realtime-sync). Скачивание вложений MUST NOT выставлять флаг \Seen.

Scenario: Письмо с вложением архивировано

  • WHEN mail_archive.py заархивировал письмо с has_attachment: true
  • THEN файлы вложений лежат в <msg_dir>/attachments/ и совпадают с вложениями на IMAP-сервере

Scenario: Вложения при событийной синхронизации

  • GIVEN новое письмо с вложением обнаружено сервисом email-imap-stream
  • WHEN письмо архивируется по событию IDLE
  • THEN вложения скачаны в <msg_dir>/attachments/, флаг \Seen не выставлен

Scenario: Вложения при reconcile

  • GIVEN письмо с вложением было пропущено (обрыв соединения)
  • WHEN сервис выполняет reconcile
  • THEN вложения докачиваются в <msg_dir>/attachments/ (то же поведение, что существующий --attachments-backfill)