def mail_send_task(to: str, subject: str, body: str, html: str, sender: str,
event: int=None, cc: list=None, bcc: list=None, headers: dict=None):
headers = headers or dict()
if event:
event = Event.objects.get(id=event)
sender = sender or event.settings.get('mail_from')
headers['reply-to'] = headers.get('reply-to', event.settings.get('mail_from'))
backend = event.get_mail_backend()
else:
backend = get_connection(fail_silently=False)
email = EmailMultiAlternatives(subject, body, sender, to=to, cc=cc, bcc=bcc, headers=headers)
if html is not None:
email.attach_alternative(inline_css(html), 'text/html')
try:
backend.send_messages([email])
except Exception:
logger.exception('Error sending email')
raise SendMailException('Failed to send an email to {}.'.format(to))
评论列表
文章目录