#!/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())