# Этап 1c. Вход по коду и почта Статус: не начат. ## 1. Цель Регистрация и вход по коду из письма в кабинетах обоих брендов; почтовая подсистема с журналом. ## 2. Входит 1. Почта ([08-integrations.md](../08-integrations.md), раздел 1): глобал «Почта» (транспорты `smtp`, `sendmail`, `log_only`), email-адаптер, `email-templates` с шапкой и подвалом бренда, `email-log`, задача `send-email`, тестовое письмо, флаг «Записывать коды входа в журнал». 2. Шаблоны на RU и EN: `login_code`, `admin_new_lead` (и подключить его к формам из 1b). 3. `customers` со своей стратегией, `customer-sessions`, `auth-codes`; запрос и проверка кода, лимиты, ALTCHA ([05-auth.md](../05-auth.md), разделы 2–4). 4. Страница `/login` по макету с состояниями: код отправлен, ошибка, истёк, повторная отправка через 60 секунд. 5. Выход, выход на всех устройствах. 6. Язык и валюта аккаунта при регистрации ([04-billing.md](../04-billing.md), раздел 2). 7. Задача `cleanup` для кодов, сессий и журнала. ## 3. Не входит Telegram (этап 3), реферальная привязка при регистрации (1g). ## 4. Перед стартом Root: R-07 (Postfix, OpenDKIM, DNS) или данные SMTP-провайдера. Без них этап делается на транспорте `log_only`. ## 5. Готово, когда 1. Регистрация и вход работают на `dev.my.veilix.app` и `dev.my.veilixvpn.com`; аккаунты сайтов независимы. 2. С флагом коды видны в журнале; на `log_only` письма не уходят. 3. Через `sendmail` или `smtp` письмо доходит до Gmail не в спам; оценка mail-tester ≥ 9/10. 4. Лимиты и счётчик попыток работают; сессии отзываются.