views.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:infonex_crm 作者: asterix135 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号