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