def get_vapid_private_key_path():
return _data_dir / "vapid-private.key"
+def get_email_pass_path():
+ return _data_dir / "email-pass.txt"
+
from flask import abort, Blueprint, current_app, get_flashed_messages, session, \
redirect, render_template, request
-from . import auth, db
+from . import auth, db, mail
from .logutils import flash_and_log
bp = Blueprint("dreams-importer", __name__, url_prefix="/dreams-importer")
current_app.logger.info(f"dreams_importer: Added {queueid} to queue")
flash_and_log(f"Queued for import from Dreams: {indreams_url}")
+
+ mail.send(
+ "mail@littlesong.place", # To self
+ "Song Queued for Import",
+ f"{session['username']} enqueued a song for import"
+ )
return queueid
--- /dev/null
+from . import datadir
+
+import smtplib
+from email.message import EmailMessage
+from email.utils import make_msgid
+
+from_addr = "mail@littlesong.place"
+
+def send(to_addrs, subject, body):
+ with open(datadir.get_email_pass_path(), "r") as epfile:
+ pass = epfile.read().strip()
+
+ msg = EmailMessage()
+ msg["From"] = from_addr
+ msg["To"] = to_addrs
+ msg["Message-ID"] = make_msgid(domain="littlesong.place")
+ msg["Subject"] = subject
+ msg.set_content(body)
+
+ with smtplib.SMTP_SSL("smtp.ionos.com") as smtp:
+ smtp.login("mail@littlesong.place", pass)
+ smtp.send_message(msg)
+