import smtplib
from email.mime.text import MIMEText
from inque.settings import SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, FROM_EMAIL, SUPPORT_EMAIL, SUPPORT_COMPANY
from tickets.utils import get_message_id, generate_message_id
from django.conf import settings
from tickets.models import Message
def send_email(to_email, subject, body, ticket, sender_email, in_reply_to=None, references=None, reply_to=None):
msg = MIMEText(body, "plain")
msg["Subject"] = subject
msg["From"] = f"{SUPPORT_COMPANY} Support <{SUPPORT_EMAIL}>" # Display name + mailbox
msg["Reply-To"] = SUPPORT_EMAIL
# Determine recipients
if to_email == '':
if sender_email == ticket.reporter:
recipients = ticket.assignee if ticket.assignee else settings.SUPPORT_AGENTS
else:
recipients = [ticket.reporter]
else:
recipients = [to_email]
msg["To"] = ", ".join(recipients)
# Set references and message ids
if in_reply_to:
msg["In-Reply-To"] = in_reply_to
if references:
msg["References"] = references
with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_USER, SMTP_PASSWORD)
server.sendmail(SUPPORT_EMAIL, recipients, msg.as_string())