def dispatch(self, object, *args, **kwargs):
self.object = object
self.kwargs = kwargs
receivers = self.get_receivers()
context = self.get_context()
context.update(kwargs)
attachments = self.get_attachments()
template = self.template_name
mails = []
for receiver in receivers:
context['receiver'] = receiver
(subject, text, html) = self.render(template, context)
context.pop('receiver')
if hasattr(receiver, 'email'):
to_address = receiver.email
else:
to_address = receiver
subject_clean = re.sub(r'[\r\n]', '', subject).strip()
mail = EmailMultiAlternatives(
subject=subject_clean,
body=text,
from_email=settings.DEFAULT_FROM_EMAIL,
to=[to_address],
reply_to=self.get_reply_to(),
)
if len(attachments) > 0:
mail.mixed_subtype = 'related'
for attachment in attachments:
mail.attach(attachment)
mail.attach_alternative(html, 'text/html')
mail.send()
mails.append(mail)
return mails
评论列表
文章目录