Code reference › domain › mail

module

pretalx.mail.domain.compose

Functions 2

build_session_mail_task_data(*, template, recipient_contexts, skip_queue=False)source
def build_session_mail_task_data(*, template, recipient_contexts, skip_queue=False):
    recipients = []
    for ctx in recipient_contexts:
        entry = {"speaker_id": ctx["speaker"].pk}
        if submission := ctx.get("submission"):
            entry["submission_id"] = submission.pk
        if slot := ctx.get("slot"):
            entry["slot_id"] = slot.pk
        recipients.append(entry)

    return {
        "template_id": template.pk,
        "recipients": recipients,
        "skip_queue": skip_queue,
    }
send_team_mail(*, template, event, users)source
def send_team_mail(*, template, event, users):
    sent = []
    for user in users:
        with suppress(SendMailException):
            mail = render_template_to_mail(
                template,
                locale=user.locale,
                context_kwargs={"user": user, "event": event},
            )
            mail.to = user.email
            send_transient(mail)
            sent.append(mail)
    return sent