themblem/api/products/sendmsg.py
2025-03-01 20:40:38 +00:00

44 lines
1.2 KiB
Python

#!/usr/bin/env python3
import smtplib
from email.message import EmailMessage
from .models import *
from django.conf import settings
def send_email(to, subject, body):
msg = EmailMessage()
msg.set_content(body)
msg['Subject'] = subject
msg['From'] = settings.EMAIL_HOST_USER
msg['To'] = to
s = smtplib.SMTP_SSL(settings.EMAIL_HOST, settings.EMAIL_PORT)
s.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)
s.send_message(msg)
s.quit()
def send_admin_email(admin, subject, body):
if admin.user.email:
send_email(admin.user.email, subject, body)
def send_user_message(whom, subject, content):
um = UserMessage(
sender='system',
subject=subject,
content=content
)
admin = None
if isinstance(whom, AdminInfo):
admin = whom
um.admin = whom
elif isinstance(whom, Tenant):
um.tenant = whom
else:
raise Exception("Must specify either admin or tenant name")
um.save()
if admin:
send_admin_email(admin, subject, content)
def admin_broadcast(subject, content):
for admin in AdminInfo.objects.all():
send_user_message(admin, subject, content)