3.3 KiB
3.3 KiB
📧 Настройка отправки email
Проблема
Ошибка: Missing credentials in config при отправке magic-link email.
✅ Решение
Вариант 1: Настроить AWS SES (если используете AWS)
В файле .env на сервере добавьте:
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 на сервере:
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 сервер
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
🔧 После настройки
-
Перезапустите backend:
pm2 restart nakama-backend # или docker-compose restart backend -
Проверьте логи:
pm2 logs nakama-backend --lines 50Должно появиться:
[Email] ✅ AWS SES клиент инициализирован(для AWS)- или
[Email] ✅ SMTP transporter инициализирован(для SMTP)
-
Проверьте отправку:
- Попробуйте отправить 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
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