diff --git a/Website/static/modules/emailservice/__init__.py b/Website/static/modules/emailservice/__init__.py new file mode 100644 index 0000000..05ba3b3 --- /dev/null +++ b/Website/static/modules/emailservice/__init__.py @@ -0,0 +1 @@ +# Web.modules.emailservice package initialization diff --git a/Website/static/modules/emailservice/email.py b/Website/static/modules/emailservice/email.py new file mode 100644 index 0000000..70854d9 --- /dev/null +++ b/Website/static/modules/emailservice/email.py @@ -0,0 +1,98 @@ +from email.mime.multipart import MIMEMultipart +from email.mime.text import MIMEText +import smtplib +import time + +import Web.modules.database.settings as cfg + + +def _build_smtp_client(): + smtp = smtplib.SMTP( + cfg.EMAIL_SMTP_HOST, + cfg.EMAIL_SMTP_PORT, + timeout=cfg.EMAIL_TIMEOUT_SECONDS, + ) + smtp.ehlo() + if cfg.EMAIL_USE_TLS: + smtp.starttls() + smtp.ehlo() + if cfg.EMAIL_USERNAME: + smtp.login(cfg.EMAIL_USERNAME, cfg.EMAIL_PASSWORD or "") + return smtp + + +def send(email: list | str, subject: str, note: str, sender: str) -> bool: + """Sends the email with the link to the Clients.""" + if not cfg.MODULES.is_enabled("mail"): + print("Debug: Module not enabled") + return False + + if isinstance(email, str): + email = [email] + + body_message = note + + HTML_SIGNATURE = f""" +
|
+ Mit freundlichen Grüßen +Automatisierter Email Verteiler für die Schule: {cfg.get_school_info().get("name")} + Invario UG |
+
{body_message}
+