Files
transcriber/tasks/items/email-notification.md
T
av 5501384cdc tasks: упразднены цели и роадмап, объявлена стадия build
- 11 записей типа goal закрыты с причиной, называющей задачи-наследники;
  ROADMAP.md удалён, индекс остался один — BACKLOG.md;
- 33 записи переписаны: ссылка «Двигает пункты N «Завершения» цели» уступила
  место прямому утверждению — без целей номера пунктов вели в никуда;
- шапка BACKLOG.md размечена парой <!-- стадия -->, порядок строк теперь
  объявлен зависимостью, а не важностью.
2026-08-13 16:00:14 +03:00

41 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ✨ Слать готовый текст на почту из учётной записи
- **Тип:** feature
- **Категория:** Очередь — Второй канал на той же доставке.
- **Зачем:** Адрес почты приходит вместе с входом через OIDC, но почтового отправителя в сервисе нет.
Готовый текст и отказ доходят письмом, а адрес берётся у учётной записи, а не из
общего конфига.
Почта — второй канал рядом с тем, что заводит `ntfy-delivery`; выбор канала
остаётся в той же единой точке, что и сейчас.
## Затрагивает
- реализация интерфейса отправителя уведомления — почтовый адаптер;
- адрес почты из данных учётной записи OIDC и его хранение;
- выбор канала по настройке пользователя в `completeJob` и `failJob`;
- секция конфигурации: сервер отправки почты, учётные данные, адрес отправителя;
- `docs/architecture.md` — внешняя зависимость и чем она отказывает;
- `docs/security.md` — текст расшифровки уходит на почтовый сервер.
## Критерии приёмки
- Задача, дошедшая до `done` у пользователя с выбранной почтой, отправляет одно
письмо на адрес владельца. Оракул — тест с подставным отправителем: ровно один
вызов, адрес владельца, текст задачи в теле.
- Недоступный почтовый сервер не мешает задаче завершиться. Оракул — тест с
отправителем, возвращающим ошибку: задача в `done`, в журнале одна запись
уровня `WARN`.
- Отказ задачи доходит письмом тем же человекочитаемым текстом, что видит
пользователь Telegram. Оракул — тест на ветке `failJob`.
- Пароль почтового сервера не попадает ни в журнал, ни в текст письма. Оракул —
тест отправки с перехваченным журналом.
## Рамки
Берётся после `ntfy-delivery` — интерфейс отправителя заводит она — и после
`settings-screen`, где канал выбирают. Своего почтового сервера не поднимаем.
Длинный текст в письме не делится на части: предел сообщения есть у Telegram, а
не у почты.