mail

Листи (Mail)

src/main/lady/interval-services/task-mail.service.ts

Листи — окремий від чату канал переписки між TU і RU. Довший формат тексту, вкладення, не залежить від online-статусу RU.

UI — mail. Автоматична розсилка — mail-sender. Шаблони-інвайти — mail-invites. Чорний список — Blacklist.


Структура листа

  • Текст — довший формат, підтримує rich-content
  • Вкладення — до 2 зображень на лист (див. нижче)
  • Після збереження отримує унікальний letterId
  • Відстежується статус прочитано / не прочитано

Медіа-вкладення

  • До 2 зображень на один лист
  • isPaid — платне вкладення, RU платить щоб відкрити (той самий механізм що в чаті)
  • Preview доступний до оплати
  • Завантаження / видалення — через IPC: uploadMailMediaFile, deleteMailMediaFile
  • Медіа прив’язане до конкретного letterId

Два треки розсилки

ТрекТип інвайтуКомуТермін інвайту
FAVNAFNOT_ACTIVE_FAVORITES — фаворити без активного контактуСкидається щодня
NEWFANMОнлайн RU, не фаворитиЖиве 7 днів, потім скидається

Після скидання оператор має призначити новий інвайт. Детальна логіка сендера, відбір кандидатів, ліміти, batch, помилки — всі в mail-sender.


Генерація тасків — TaskMailService

Сервіс task-mail-service створює мейл-таски:

ПодіяТаск
RU надіслав листUnansweredMail
TU написала, RU не відповівNeedToWriteMail

Деталі термінології і таймери тасків — tasks.


Відмінність від Email

Mail — це пошта всередині сайту. Поруч існує режим Email — зовнішня пошта (Gmail тощо), окремий UI-екран (email), окрема логіка, не пов’язана з mail-API сайту.


Зв’язки