Source code for ferrosoft.apps.befundung.email
from django.core import mail
from django.utils.translation import gettext as _
from ferrosoft.apps.befundung.models import Report, Settings
[docs]
def send_examination_mail(report: Report, conf: Settings, pdf_blob: bytes):
with mail.get_connection() as conn:
examination = report.examination
msg = mail.EmailMessage(
conf.email_subject_template.format(**examination),
conf.email_body_template.format(**examination),
conf.email_sender_address,
[
conf.email_recipient_address,
],
connection=conn,
)
msg.attach(
conf.format_report_pdf_name(report),
pdf_blob,
"application/pdf",
)
attach_photos(msg, report, conf)
msg.send(fail_silently=False)
[docs]
def attach_photos(message, report: Report, conf: Settings):
for i, photo in enumerate(report.images):
message.attach(
conf.format_image_name(report, i, photo.media_type),
photo.binary_data,
photo.media_type,
)
[docs]
def send_error_mail(report: str, conf: Settings):
with mail.get_connection() as conn:
msg = mail.EmailMessage(
_("Examination report error report"),
report,
conf.email_sender_address,
[conf.email_recipient_address],
connection=conn,
)
msg.send(fail_silently=False)