← К схеме

Email

сквозной backend-сервис · доставка почты

Почтовое отделение платформы: единственное место, которое умеет составить письмо и отправить его по SMTP. Модули не знают про почтовый сервер — они передают сюда «отправь приглашение такому-то», а транспорт берёт настройки, рендерит шаблон и доставляет.

Архитектура

Технологическая лента — слева направо
потребители
Приглашениеinvite
Сброс пароляreset
Тестовоеtest
Security-алертыv2alerts
Email
Почтовое отделение платформы
composeшаблон + язык → MIME
sendдоставка по SMTP
send_invite · send_password_reset · send_test
Inline синхронно · в запросе
только test
таймаут вердикт сразу
пишет last_test_ok / last_test_at
Очередь · SAQ асинхронно · фон
invite · reset · bulk
ретраи · backoff тротлинг идемпотентность · job_id
потребитель отвечает мгновенно
SMTPaiosmtplib
ящик
smtp_settings
singleton в core, секрет — шифротекстом. Пароль — AES-256-GCM; готовность транспорта — предикат is_available(). Модель данных.
крипто-ядро расшифровывает пароль в момент send; ему же принадлежит механика flows.
экран настроек SMTP и кнопка «Проверить соединение» — запускает inline.
общий воркер платформы (SAQ поверх Redis) исполняет очередь.
стек aiosmtplib SAQ Jinja2 email / MIME Pydantic Settings Mailpit · dev

Workzone Проектирование

Детальные решения по проектированию модуля.