2013-07-31 17 views
7

सब, मैं उपयोगकर्ता द्वारा पंजीकृत होने पर अपने ईमेल पर अधिसूचनाएं भेजने के लिए फ्लास्क मेल सेट करने का प्रयास कर रहा हूं। मुझे ईमेल भेजने के लिए उपयोग की जाने वाली स्क्रिप्ट से कोई त्रुटि संदेश नहीं मिल रहा है, लेकिन वास्तव में कुछ भी नहीं भेजा जा रहा है, या कम से कम, कुछ भी प्राप्त नहीं किया जा रहा है।फ्लास्क-मेल ईमेल नहीं भेज रहा है, कोई त्रुटि नहीं दी जा रही है

क्या कोई लॉग फ़ाइल है जो दिखा सकती है कि कोई ईमेल भेजा गया था, अस्वीकार कर दिया गया था, या हो सकता है कि सर्वर पर लॉग इन करने में कोई समस्या हो? इस समस्या को ट्रैक करने के लिए कैसे?

कोई विचार यहाँ है?

उत्तर

18

Flask-Emailsmtplib का उपयोग करें जो डीबग स्तर सेट कर सकते हैं: https://github.com/mattupstate/flask-mail/blob/master/flask_mail.py#L139। आप इसे MAIL_DEBUG = True या DEBUG = True से सेट कर सकते हैं। यह भी देखें कि MAIL_SUPPRESS_SEND = False और TESTING = False

डिबग के साथ मैं stdout मेल का कार्य प्रगति पर देख सकते हैं: सफलता, असफल, प्राप्तकर्ता और आदि

विवरण देखें: http://pythonhosted.org/Flask-Mail/#configuring-flask-mail

0

tbicr सबसे अधिक संभावना तय है, पहले MAIL_SUPPRESS_SEND की जांच करें।

क्या मुझे जल समाप्त हो गया (फ्लास्क के लिए नया किया जा रहा है) कि जब आप अपने मेल() वस्तु का दृष्टांत, यकीन है कि यह है कि आप अपने app.config मान सेट किए हैं के बाद होना है। मेल() ऑब्जेक्ट वापस नहीं जाता है और तथ्य के बाद इन मानों को देखता है, इसलिए वे खराब मानों के लिए डिफ़ॉल्ट होंगे। निराशाजनक बात यह है कि जब आप डिफ़ॉल्ट/खराब मानों के साथ संदेश भेजने का प्रयास करते हैं तो आपको कोई त्रुटि दिखाई नहीं देगी। कम से कम मेरे पोस्टिंग के रूप में नहीं।

0

मुझे पता है कि यह पोस्ट थोड़ी देर पहले है, लेकिन मैं बस एक ही मुद्दे में भाग गया। @tbicr की तरह उल्लेख किया गया है कि app.testingFalse पर सेट है। यह Flask-Mail डॉक्स here में कहा गया है के रूप में:

"सेटिंग TESTINGTrue के लिए सेट है, तो ईमेल दबा दिया जाएगा अपने संदेश में कोई संदेश वास्तव में भेजा जा रहा है नहीं होगा पर send() कॉलिंग।।"

यह मेरी समस्या थी। मैंने Google reCAPTCHA को मेरे रूपों में से एक में लागू किया और app.testing को True पर सेट किया गया था इसलिए मुझे हर बार reCAPTCHA बॉक्स को हिट करने की आवश्यकता नहीं थी। app.testing को हटाकर या इसे False पर सेट करके, ईमेल भेजने में सक्षम थे।

संबंधित मुद्दे