import os import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from dotenv import load_dotenv load_dotenv() EMAIL_HOST = os.getenv("EMAIL_HOST", "smtp.gmail.com") EMAIL_PORT = int(os.getenv("EMAIL_PORT", 587)) EMAIL_USER = os.getenv("EMAIL_USER") EMAIL_PASS = os.getenv("EMAIL_PASS") def send_email(subject, body, to_emails, html=False): if isinstance(to_emails, str): to_emails = [to_emails] msg = MIMEMultipart() msg["From"] = EMAIL_USER msg["To"] = ", ".join(to_emails) msg["Subject"] = subject if html: msg.attach(MIMEText(body, "html")) else: msg.attach(MIMEText(body, "plain")) try: with smtplib.SMTP(EMAIL_HOST, EMAIL_PORT) as server: server.starttls() server.login(EMAIL_USER, EMAIL_PASS) server.sendmail(EMAIL_USER, to_emails, msg.as_string()) return True except Exception as e: print(f"Error sending email: {e}") return False