entity mail

Mail

Листи (Mail)

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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


Зв’язки