57 lines
1.9 KiB
Python
Executable File
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())
|
|
|