import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

class MailHelper:
    @staticmethod
    def send_new_password_email(email_nguoi_nhan: str, data: dict):
        # ------------------ SMTP CONFIG ------------------
        smtp_host = "smtp.gmail.com"
        smtp_port = 587
        # Sử dụng đúng thông tin từ file PHP quản lý gửi
        smtp_user = "darkevilhorse@gmail.com"
        smtp_pass = "qumkwewfcorwdrpp" 

        # ------------------ CONTENT ------------------
        username = data.get("username", "Người dùng")
        new_pass = data.get("password", "Không có mật khẩu")
        note = data.get("note", "Hãy đổi mật khẩu sau khi đăng nhập.")

        # Tạo cấu trúc email HTML
        message = MIMEMultipart("alternative")
        message["Subject"] = "MAT KHAU MOI CUA BAN"
        message["From"] = f"Vet System Account <{smtp_user}>"
        message["To"] = email_nguoi_nhan

        html_content = f"""
        <html>
            <body>
                <h2>Xin chào, {username}</h2>
                <p>Bạn được cấp mật khẩu mới:</p>
                <p><b style='font-size:20px;'>{new_pass}</b></p>
                <p>{note}</p>
                <br>
                <i>Email được gửi tự động từ hệ thống FastAPI. Vui lòng không trả lời.</i>
            </body>
        </html>
        """
        message.attach(MIMEText(html_content, "html"))

        # ------------------ SEND ------------------
        try:
            server = smtplib.SMTP(smtp_host, smtp_port)
            server.starttls() # Bảo mật TLS giống PHP
            server.login(smtp_user, smtp_pass)
            server.sendmail(smtp_user, email_nguoi_nhan, message.as_string())
            server.quit()
            return True
        except Exception as e:
            print(f"Lỗi gửi mail: {e}")
            return False