Hi Dudes, Im working with pisa from xhtml2pdf LIB in order to get a pdf. That works OK, but i cant figure out how to attach the generated pdf to an email
in order to send it . Anyone dealt with this? I would appreciate any help on this!
def get(self,request,*args,**kwargs):
try:
mailServer = smtplib.SMTP(settings.EMAIL_HOST,settings.EMAIL_PORT)
print(mailServer.ehlo())
mailServer.starttls()
print(mailServer.ehlo())
mailServer.login(settings.EMAIL_HOST_USER,settings.EMAIL_HOST_PASSWORD)
print("conectando...")
email_to=[]
subject="ADICRA - Comprobrante de Pago"
template= get_template('pagos/invoice.html')
context={
'sale': PagosHead.objects.get(pk=self.kwargs['pk']),
'comp': {'name':'ADICRA','ruc':'Av. Directorio Adicra 101','address':'C.A.B.A.'},
'icon': '{}{}'.format(settings.STATIC_URL,'core/img/adicrareng.jpg'),
'equis':'{}{}'.format(settings.STATIC_URL,'pagos/img/x.jpg'),
}
html=template.render(context)
response= HttpResponse(content_type='application/pdf')
#response['Content-Disposition']='attachment; filename="pago.pdf"' #Para Descargar
pisaStatus=pisa.CreatePDF(html, dest=response,link_callback=self.link_callback)
mensaje = EmailMessage(subject, body=pdf, from_email=settings.EMAIL_HOST_USER, to=email_to)
print("Acá antes del attach")
mensaje.attach('pago.pdf', pisaStatus,'application/pdf')
mensaje.content_subtype = "pdf"
mensaje.encoding = 'us-ascii'
mensaje.send()
#mailServer.sendmail(settings.EMAIL_HOST_USER,
# email_to,
# mensaje.as_string())
print("Correo enviado correcamente")
return response
except Exception as e:
print(e)
return HttpResponse(reverse_lazy('pagos:list'))