- make db list to backup dynamic receivd from env file - send mail on complete
36 lines
1015 B
Python
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 |