def send_conf_email(request):
if request.method != 'POST':
return HttpResponse('')
reg_details = get_object_or_404(RegDetails,
pk=request.POST['reg_id'])
try:
invoice = Invoice.objects.get(reg_details=reg_details)
except Invoice.DoesNotExist:
invoice = None
if invoice:
buffr = BytesIO()
invoice_pdf = canvas.Canvas(buffr, pagesize=letter)
generate_invoice(invoice_pdf, reg_details, invoice)
invoice_pdf.showPage()
invoice_pdf.save()
pdf = buffr.getvalue()
buffr.close()
else:
pdf = None
email_body = request.POST['email_message']
email_body = email_body.replace('\n', '<br/>')
email_subject = request.POST['email_subject']
to_list = list(set(request.POST.getlist('to_list[]')))
cc_list = list(set(request.POST.getlist('cc_list[]')))
bcc_list = list(set(request.POST.getlist('bcc_list[]')))
email = EmailMessage(
subject=email_subject,
body=email_body,
to=to_list,
cc=cc_list,
bcc=bcc_list,
)
if pdf:
filename = 'invoice-' + str(invoice.pk) + '.pdf'
email.attach(filename, pdf, 'application/pdf')
email.content_subtype = 'html'
email.send()
return HttpResponse(status=204)
评论列表
文章目录