में अनुलग्नक के साथ असीमित रूप से ईमेल भेजना मैं पीडीएफ अनुलग्नक के साथ ईमेल भेजने के लिए नीचे कोड का उपयोग कर रहा हूं। लेकिन, यह एक त्रुटि बह रहा है - "दावा कोई सामग्री नहीं"। मुझे यकीन नहीं है कि ऐसा क्यों है। मैं पीडीएफ के साथ सिंक्रनाइज़ेशन के साथ ईमेल भेजने में सक्षम हूं और साथ ही बिना पीडीएफ के ईमेल एसिंक भेज सकता हूं। (Django 1.3 का उपयोग करना)Django
from django.core.mail import EmailMultiAlternatives
import threading
from django.core.mail import send_mail
class EmailThread(threading.Thread):
def __init__(self, subject, body, from_email, recipient_list, fail_silently, html,pdf):
self.subject = subject
self.body = body
self.recipient_list = recipient_list
self.from_email = from_email
self.fail_silently = fail_silently
self.html = html
self.pdf = pdf
threading.Thread.__init__(self)
def run(self):
msg = EmailMultiAlternatives(self.subject, self.body, self.from_email, self.recipient_list)
msg.attach('ticket.pdf',self.pdf,'application/pdf')
if self.html:
msg.attach_alternative(self.html, "text/html")
msg.send(self.fail_silently)
def send_mail(subject, body, from_email, recipient_list, fail_silently=True, html=None,pdf=None, *args, **kwargs):
EmailThread(subject, body, from_email, recipient_list, fail_silently, html, pdf).start()
जब आप send_mail को कॉल करते हैं तो पीडीएफ और एचटीएमएल क्या हैं? (ये दो चीजें हैं जिन्हें 'assert content के साथ चेक किया गया है django.core.mail.message में कोई नहीं है।) क्या यह संभव है कि किसी भी तरह से pdf को send_mail को कॉल करने के दौरान बदल दिया जा रहा है और प्रेषण थ्रेड चलाने का समय ? – medmunds
इसके अलावा, एफवाईआई, डीजेंगो-मेलर नामक एक ऐप है जो एक (तर्कसंगत) मजबूत एसिंक भेजता कतार लागू करता है। यह बाद में पुनः प्रयास करने जैसे मामलों को संभालता है अगर msg.send पहली बार विफल रहता है। आप जो हासिल करने की कोशिश कर रहे हैं उसके आधार पर, यह इस तरह के धागे का उपयोग करने से बेहतर दृष्टिकोण हो सकता है। – medmunds