Email
Planner использует Nodemailer для отправки транзакционных писем через SMTP.
Архитектура
- Библиотека: Nodemailer
- Graceful fallback: если
SMTP_HOSTне задан, отправка писем пропускается с предупреждением в лог - Модуль:
EmailModule—@Global(), доступен во всех сервисах
Конфигурация
| Переменная | По умолчанию | Описание |
|---|---|---|
SMTP_HOST | — | SMTP сервер (опционально) |
SMTP_PORT | 1025 | Порт SMTP |
SMTP_USER | — | Пользователь SMTP |
SMTP_PASS | — | Пароль SMTP |
SMTP_FROM | noreply@planner.app | Адрес отправителя |
Шаблоны писем
HTML-шаблоны находятся в src/modules/email/templates/:
| Шаблон | Назначение | Триггер |
|---|---|---|
password-reset | Сброс пароля | POST /auth/forgot-password |
invitation | Приглашение в организацию/команду | POST /invitations (если пользователь не зарегистрирован) |
task-assigned | Назначение задачи | PATCH /projects/:id/tasks/:taskId (при смене assignee) |
comment-added | Новый комментарий | POST /projects/:id/tasks/:taskId/comments |
email-verification | Подтверждение email | POST /auth/register |
Использование
EmailService — внутренний сервис, вызывается из:
- AuthModule — verification email, password reset
- InvitationsModule — приглашение по email
- NotificationsModule — уведомления о задачах и комментариях