release-scripts/backup/email_utils.py
Vikas Nale 4ff44fac77 - Add detaied logging
- make db list to backup dynamic receivd from env file
- send mail on complete
2025-06-28 16:03:35 +05:30

36 lines
1015 B
Python

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