nakama/moderation/backend-py/test_email.py

57 lines
1.9 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Test email sending
"""
import asyncio
import sys
async def test_email():
"""Test email configuration"""
from config import settings
from utils.email_service import send_verification_code
print("\n" + "=" * 60)
print("📧 Тест отправки email")
print("=" * 60)
print(f"\nНастройки:")
print(f" Provider: {settings.EMAIL_PROVIDER}")
print(f" Host: {settings.YANDEX_SMTP_HOST}")
print(f" Port: {settings.YANDEX_SMTP_PORT}")
print(f" User: {settings.YANDEX_SMTP_USER}")
print(f" Has Password: {bool(settings.YANDEX_SMTP_PASSWORD)}")
print(f" From: {settings.EMAIL_FROM}")
if not settings.YANDEX_SMTP_USER or not settings.YANDEX_SMTP_PASSWORD:
print("\n❌ YANDEX_SMTP_USER или YANDEX_SMTP_PASSWORD не установлены в .env!")
print(" Проверьте файл nakama/.env")
sys.exit(1)
# Ask for email
test_email = input("\nВведите email для теста (или Enter для пропуска): ").strip()
if not test_email:
print("Тест пропущен")
return
print(f"\n📤 Отправка тестового кода на {test_email}...")
try:
await send_verification_code(test_email, "123456")
print("\n✅ Email успешно отправлен!")
print(f" Проверьте почту: {test_email}")
except Exception as e:
print(f"\n❌ Ошибка отправки: {e}")
print("\nПроверьте:")
print(" 1. Используете ли пароль приложения (не основной пароль)")
print(" 2. Правильность email в YANDEX_SMTP_USER")
print(" 3. Доступность smtp.yandex.ru:465")
sys.exit(1)
print("\n" + "=" * 60)
if __name__ == "__main__":
asyncio.run(test_email())