# 📧 Настройка отправки email ## Проблема Ошибка: `Missing credentials in config` при отправке magic-link email. ## ✅ Решение ### Вариант 1: Настроить AWS SES (если используете AWS) В файле `.env` на сервере добавьте: ```bash EMAIL_PROVIDER=aws AWS_SES_ACCESS_KEY_ID=your_access_key_id AWS_SES_SECRET_ACCESS_KEY=your_secret_access_key AWS_SES_REGION=us-east-1 EMAIL_FROM=noreply@nakama.guru ``` **Важно:** - `EMAIL_FROM` должен быть верифицированным email в AWS SES - Для production нужно выйти из sandbox режима AWS SES ### Вариант 2: Использовать Yandex SMTP (рекомендуется для начала) В файле `.env` на сервере: ```bash EMAIL_PROVIDER=yandex YANDEX_SMTP_HOST=smtp.yandex.ru YANDEX_SMTP_PORT=465 YANDEX_SMTP_SECURE=true YANDEX_SMTP_USER=your-email@yandex.ru YANDEX_SMTP_PASSWORD=your_app_password EMAIL_FROM=your-email@yandex.ru ``` **Важно для Yandex:** - Используйте **пароль приложения**, а не основной пароль аккаунта - Пароль приложения создается в настройках безопасности Yandex - Порт 465 для SSL, порт 587 для STARTTLS ### Вариант 3: Использовать любой SMTP сервер ```bash EMAIL_PROVIDER=smtp SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_SECURE=false SMTP_USER=your-email@example.com SMTP_PASSWORD=your_password EMAIL_FROM=your-email@example.com ``` ## 🔧 После настройки 1. **Перезапустите backend:** ```bash pm2 restart nakama-backend # или docker-compose restart backend ``` 2. **Проверьте логи:** ```bash pm2 logs nakama-backend --lines 50 ``` Должно появиться: - `[Email] ✅ AWS SES клиент инициализирован` (для AWS) - или `[Email] ✅ SMTP transporter инициализирован` (для SMTP) 3. **Проверьте отправку:** - Попробуйте отправить magic-link через форму авторизации - Проверьте логи на наличие ошибок ## ⚠️ Частые проблемы ### 1. "Missing credentials" - **Причина:** Не установлены AWS credentials - **Решение:** Установите `AWS_SES_ACCESS_KEY_ID` и `AWS_SES_SECRET_ACCESS_KEY` или используйте `EMAIL_PROVIDER=yandex` ### 2. "EAUTH" ошибка для Yandex - **Причина:** Используется основной пароль вместо пароля приложения - **Решение:** Создайте пароль приложения в настройках безопасности Yandex ### 3. "ECONNECTION" ошибка - **Причина:** Неверный хост или порт SMTP - **Решение:** Проверьте `YANDEX_SMTP_HOST` и `YANDEX_SMTP_PORT` ## 📝 Пример .env для Yandex ```bash EMAIL_PROVIDER=yandex YANDEX_SMTP_HOST=smtp.yandex.ru YANDEX_SMTP_PORT=465 YANDEX_SMTP_SECURE=true YANDEX_SMTP_USER=aaem9848@yandex.ru YANDEX_SMTP_PASSWORD=your_app_password_here EMAIL_FROM=aaem9848@yandex.ru ```