LeadPilot / backend /scripts /debug_smtp_prod.py
Ashraf Al-Kassem
feat: LeadPilot β€” full project commit (Missions 1–13)
8d7950f
raw
history blame
1.99 kB
import asyncio
import sys
import logging
from app.core.config import settings
import aiosmtplib
from email.message import EmailMessage
async def main():
print("--- SMTP SETTINGS ---")
print(f"Host: {settings.SMTP_HOST}:{settings.SMTP_PORT}")
print(f"SSL: {settings.SMTP_USE_SSL}")
print(f"TLS: {settings.SMTP_USE_TLS}")
print(f"User: {settings.SMTP_USERNAME}")
print(f"From: {settings.EMAIL_FROM}")
print("---------------------\n")
msg = EmailMessage()
msg['Subject'] = 'LeadPilot Direct Diagnostic Test'
msg['From'] = f"{settings.EMAIL_FROM_NAME} <{settings.EMAIL_FROM}>"
msg['To'] = 'alkassem.ashraf@gmail.com'
msg.set_content('This is a raw SMTP diagnostic test to verify network delivery from the HF space directly to Hostinger.')
# Using sys.stdout for logs
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
client = aiosmtplib.SMTP(
hostname=settings.SMTP_HOST,
port=settings.SMTP_PORT,
use_tls=settings.SMTP_USE_SSL,
)
try:
print("Connecting...")
if not settings.SMTP_USE_SSL:
await client.connect(use_tls=False)
if settings.SMTP_USE_TLS:
print("Starting TLS...")
await client.starttls()
else:
await client.connect()
print("Logging in...")
auth_resp = await client.login(settings.SMTP_USERNAME, settings.SMTP_PASSWORD)
print(f"Auth Response: {auth_resp}")
print("Sending message...")
send_resp = await client.send_message(msg)
print(f"\n======== SEND RESPONSE ========\n{send_resp}\n===============================")
except Exception as e:
print(f"SMTP Error: {repr(e)}")
finally:
await client.quit()
if __name__ == '__main__':
asyncio.run(main())