#!/usr/bin/env python3
"""Quick SMTP Test - Send 2 real emails to verify SMTP works"""

import os
import smtplib
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from pathlib import Path

SMTP_HOST = os.getenv("SMTP_HOST", "smtp.gmail.com")
SMTP_PORT = int(os.getenv("SMTP_PORT", "587"))
SMTP_USER = os.getenv("SMTP_USER", "4ms1xseller@gmail.com")
SMTP_PASS = os.getenv("SMTP_PASS", "")
FROM_NAME = os.getenv("FROM_NAME", "Amraj Singh Atwal")
REPLY_TO = os.getenv("REPLY_TO", "4ms1xseller@gmail.com")

# Test leads with REAL emails from Hunter.io
TEST_LEADS = [
    {
        "nome": "Parma",
        "email": "events@parma.com",
        "categoria": "Bar",
        "telefono": "+39 3780883157"
    },
    {
        "nome": "Caffetteria Ducale",
        "email": "webmaster@caffetteriaducale.it",
        "categoria": "Caffetteria",
        "telefono": "+39 3780883157"
    }
]

def send_test_email(lead):
    """Send a single test email"""
    try:
        msg = MIMEMultipart('alternative')
        msg['Subject'] = f"Il sito di {lead['nome']} non si trova su Google"
        msg['From'] = f"{FROM_NAME} <{SMTP_USER}>"
        msg['To'] = lead['email']
        msg['Reply-To'] = REPLY_TO

        # Plain text version
        text = f"""Buongiorno {lead['nome']},

vi scrivo perché ho cercato il vostro locale su Google e non vi ho trovato.
Oppure vi ho trovato su un portale generico (mordy.it, quandoo, thefork) che vi toglie identità e clienti.

Sono Amraj, sviluppatore web a Parma. Creo siti web veloci, moderni e di vostra proprietà.
Niente commissioni, niente vincoli, il dominio è vostro per sempre.

Cosa includo:
• Dominio .it/.com registrato a vostro nome
• Sito responsive (mobile-first), veloce (90+ PageSpeed)
• Menu online, prenotazioni, mappa, contatti
• SEO locale: "pizzeria parma", "ristorante centro parma", ecc.
• Hosting incluso 1 anno, poi €50/anno

Costa meno di un abbonamento a TheFork/Quandoo all'anno.

Vi interessa una demo gratuita (15 min, zero impegno)?

Rispondete a questa mail o scrivete su WhatsApp: +39 3780883157

A presto,
Amraj Singh Atwal
svoraj.me

---
Se non vuoi altre mail: https://svoraj.me/unsubscribe"""

        # HTML version
        html = f"""<html><body>
<p>Buongiorno <strong>{lead['nome']}</strong>,</p>
<p>vi scrivo perché ho cercato il vostro locale su Google e non vi ho trovato.<br>
Oppure vi ho trovato su un portale generico (mordy.it, quandoo, thefork) che vi toglie identità e clienti.</p>
<p>Sono Amraj, sviluppatore web a Parma. Creo siti web veloci, moderni e di vostra proprietà.<br>
Niente commissioni, niente vincoli, il dominio è vostro per sempre.</p>
<p><strong>Cosa includo:</strong></p>
<ul>
<li>Dominio .it/.com registrato a vostro nome</li>
<li>Sito responsive (mobile-first), veloce (90+ PageSpeed)</li>
<li>Menu online, prenotazioni, mappa, contatti</li>
<li>SEO locale: "pizzeria parma", "ristorante centro parma", ecc.</li>
<li>Hosting incluso 1 anno, poi €50/anno</li>
</ul>
<p>Costa meno di un abbonamento a TheFork/Quandoo all'anno.</p>
<p>Vi interessa una demo gratuita (15 min, zero impegno)?</p>
<p>Rispondete a questa mail o scrivete su WhatsApp: <strong>+39 3780883157</strong></p>
<p>A presto,<br>Amraj Singh Atwal<br>svoraj.me</p>
<hr>
<small>Se non vuoi altre mail: <a href="https://svoraj.me/unsubscribe">Disiscriviti</a></small>
</body></html>"""

        msg.attach(MIMEText(text, 'plain'))
        msg.attach(MIMEText(html, 'html'))

        # Send with timeout
        server = smtplib.SMTP(SMTP_HOST, SMTP_PORT, timeout=30)
        server.starttls()
        server.login(SMTP_USER, SMTP_PASS)
        server.send_message(msg)
        server.quit()
        
        return True, "Sent successfully"
        
    except Exception as e:
        return False, str(e)

def main():
    print(f"SMTP: {SMTP_HOST}:{SMTP_PORT}")
    print(f"User: {SMTP_USER}")
    print(f"Testing with {len(TEST_LEADS)} real leads...\n")
    
    for i, lead in enumerate(TEST_LEADS, 1):
        print(f"[{i}/{len(TEST_LEADS)}] Sending to {lead['nome']} <{lead['email']}>...")
        start = time.time()
        success, msg = send_test_email(lead)
        elapsed = time.time() - start
        
        if success:
            print(f"  �� SUCCESS ({elapsed:.1f}s)")
        else:
            print(f"  ��� FAILED: {msg}")
        print()

if __name__ == "__main__":
    main()