DaydreamMods
Письма
Какие события шлют почту и куда смотреть, если ящик пуст.
Код шаблонов — packages/mail. Отправка одна: если нет SMTP_HOST, функция пишет в лог строку [mail:dev] и не бросает ошибку наружу. Форма для пользователя при этом завершается успешно.
События
- Регистрация — приветствие и ссылка
/verify?token=…на сутки. - Сброс пароля — ссылка
/reset?token=…. Чужой запрос сброса не раскрывает, есть ли такой ящик, текстом ошибки наружу. - Успешная оплата — тариф в теме письма.
- Активация подписки — тариф и дата окончания.
- Истечение подписки — предложение продлить. Письмо есть в шаблонах; его вызывает код, который переводит подписку в истёкшую.
- Заявка в команду — подтверждение на контакт, если в контакте есть
@. Иначе письмо уходит на адрес студии. - Новое обращение в поддержку — ссылка
/support/t/<token>, только если контакт похож на почту. - Ответ администратора в тикете — текст ответа и та же ссылка, снова только на email.
Закрытие тикета само по себе отдельного обязательного письма не шлёт. Клиент видит статус на странице переписки. Пока статус closed, публичный ответ отклоняется. «Открыть снова» возвращает статус in_progress.
Проверка на бою
Создайте тестового пользователя на реальный ящик. В журнале не должно быть [mail:dev]. Письмо должно прийти с адреса из SMTP_FROM. Ссылка внутри должна начинаться с https://daydreammods.ru, не с localhost. Это проверяет NEXT_PUBLIC_SITE_URL.