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)