2012-10-22 23 views
6

में मुझे यह भी सुनिश्चित नहीं है कि इसे कैसे डिबग किया जाए: मैं Django में अपने विचारों में से एक में send_mail का उपयोग कर रहा हूं। स्थानीय रूप से ऐप का उपयोग करते समय यह ठीक काम करता है (उत्पादन में उपयोग की जाने वाली एक ही एसएमटीपी सेटिंग्स का उपयोग करके), और यह उत्पादन में खोल से ठीक काम करता है (फिर, उसी सेटिंग का उपयोग करके)। लेकिन जब मैं वास्तव में उत्पादन में ऐप का उपयोग करता हूं, तो संदेश नहीं भेजता है। किसी भी विचार का निवारण कैसे करें?Django में Send_mail, खोल में काम करता है, स्थानीय रूप से काम करता है,

मैं पूरे दृश्य में पेस्ट नहीं करूंगा, लेकिन यहां प्रासंगिक अनुभाग है।

if request.method == 'POST': 
    message, form = decideform(request.POST) 
    if form.is_valid(): 
     invitation.status = form.cleaned_data['status'] 
     invitation.save() 
     message, form = decideform(request.POST) 
     update = 'Thank you for updating your status.' 

     # Send an email confirming their change 
     subject = 'Confirming your RSVP [%s %s]' % (invitation.user.first_name, invitation.user.last_name) 
     body = message + ' Remember, the URL to update or change your RSVP is http://the.url%s.' % invitation.get_absolute_url() 
     send_mail(subject, body, '[email protected]', ['[email protected]', invitation.user.email], fail_silently=True) 

और यहाँ, मेरी local_settings फ़ाइल से प्रासंगिक बिट है सुरक्षा की खातिर बदल मुख्य विवरण के साथ:

EMAIL_HOST = 'mail.mydomain.com' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 
EMAIL_HOST_USER = '[email protected]' 
DEFAULT_FROM_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'p4ssw0rd' 
+3

SO में आपका स्वागत है! क्या आपने 'fail_silently = गलत' का उपयोग करने की कोशिश की है और किसी भी 'SMTPException' की तलाश में है? –

+0

धन्यवाद, सीज़र! मैंने इसे असफल रूप से झूठा सेट (स्थानीय रूप से, उत्पादन खोल में, और उत्पादन में ऐप से) सेट करने की कोशिश की, और किसी भी समय कोई SMTPExceptions पकड़ा नहीं। (मुझे लगता है कि उत्पादन में ऐप त्रुटि लॉग में अपवाद लिख देगा।) – mthomps

उत्तर

0

चेक अनुमतियाँ। यह हो सकता है कि आपके पास send_mail चलाने की अनुमति है, लेकिन ऐप नहीं करता है।

0

मुझे एक ही समस्या है। :) send_mail इनलाइन का कोड की प्रतिलिपि 3 साल के बाद यह तय हो गई लेकिन मैं अभी भी नहीं जानता कि क्यों

 connection = django.core.mail.get_connection(username=None, password=None, fail_silently=False) 
     mail = django.core.mail.message.EmailMessage('hello', 'world', '[email protected]', ['[email protected]'],            connection=connection) 
     mail.send()    
0

तुम कोशिश बजाय Django-sendgrid सकते हैं जो इस

तरह configure.Use सेटिंग्स के लिए बहुत आसान है
EMAIL_BACKEND = "sgbackend.SendGridBackend" 
SENDGRID_USER = 'xxxxxx' 
SENDGRID_PASSWORD = 'xxxxxx' 
EMAIL_PORT = 1025 
संबंधित मुद्दे