एसिंक्रोनिक ईमेल भेजने की समस्या को हल करने में थोड़ा फंस गया। मैं बैलेंस के रूप में अजवाइन, और django डेटाबेस का उपयोग करना चाहता हूँ। चूंकि अब एकमात्र चीज मैं इस कतार प्रबंधन उपकरण का उपयोग करना चाहता हूं, ईमेल है, मैंने django-celery-email भी इंस्टॉल किया है।django-celery-email कार्य निष्पादित नहीं किया गया है
import djcelery
djcelery.setup_loader()
INSTALLED_APPS += ('kombu.transport.django',
'djcelery',
'djcelery_email')
BROKER_URL = 'django://'
EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
मैं ऐसे सेटिंग्स के साथ डिफ़ॉल्ट Django एसएमटीपी का उपयोग कर रहा:
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'cs*****@gmail.com'
EMAIL_HOST_PASSWORD = '*********'
EMAIL_PORT = 587
मैं दोनों के लिए विस्थापित चला
अनुदेश के बाद, मैं अपनी सेटिंग फाइल करने के लिए इस तरह के परिवर्तन करने के बाद djcelery
और komby
ऐप्स। और अब, डिफ़ॉल्ट django send_mail
कोर विधि का उपयोग कर, ईमेल नहीं भेजा गया है।
यदि EMAIL_BACKEND
विकल्प हटाएं, तो ईमेल भेजने का काम, लेकिन बहुत धीमी गति से। अगर गति के लिए नहीं, तो मैं इस प्रक्रिया को पहली जगह कतार में नहीं देखूंगा।
मैं डेटाबेस बैकएंड के रूप में MySQL डेटाबेस का उपयोग करता हूं, और यह त्रुटि लॉग फ़ाइल किसी कार्य को जोड़ने के दौरान कुछ भी नहीं दिखाती है, इसलिए मुझे लगता है कि वह हिस्सा ठीक है। ऐसा लगता है, मैंने कुछ बुनियादी स्थापना या कॉन्फ़िगरेशन भाग को याद किया है, जिसे आसानी से अनुभवी अजवाइन या djcelery
उपयोगकर्ता द्वारा आसानी से देखा जा सकता है, लेकिन मेरे जैसे नौसिखिया याद कर सकते थे।
अद्यतन Django खोल काम के आसपास:
>>> from django.core.mail import send_mail
>>> from django.conf import settings
>>> result = send_mail('test send', 'test_send_body_text', settings.EMAIL_HOST_USER, '[email protected]')
>>> result[0].status
u'PENDING'
>>> result[0].ready()
False
>>> result[0].failed()
False
>>> result[0].info
>>> result[0].result
(आमतौर पर 10-15 के बारे में सेकंड लेता भेजने अजवाइन ईमेल के बिना) इंतजार कर के 5 मिनट के बाद, मैं अभी भी मिलती है:
>>> result[0].status
u'PENDING'
और 15 मिनट के बाद अंतिम चेक (सभी में सभी 20) के बाद:
>>> result[0].status
u'PENDING'
तो क्या कोई इस मुद्दे के साथ मेरी मदद कर सकता है? मुझे दृढ़ विश्वास है कि यह कुछ आसान है।
ईमानदारी से आपका, सर्गेई एंजेजोव।
क्या ईमेल वर्तमान बैकएंड के साथ अजवाइन के बिना आपके लिए काम भेज रहा है? –
हम्म, सुनिश्चित नहीं है कि आपको सही तरीके से समझा जाता है। अगर मैं '' सेटिंग्स 'फ़ाइल में 'EMAIL_BACKEND'' पंक्ति पर टिप्पणी करता हूं, तो ईमेल भेजने का काम ठीक है, हालांकि इस तरह के दृश्य अनुरोध को पूर्ववत करने के लिए बहुत समय लगता है ... –
मुझे सेलरी 4.0 का उपयोग करके भी इस समस्या का सामना करना पड़ रहा है। 0 आरसी 3 और डीजेंगो-सेलेरी-ईमेल 1.1.4। मुझे लगता है कि मैंने सत्यापित किया है कि एक एएमक्यूपी संदेश भेजा जा रहा है (RabbitMQ वेब एडमिन इंटरफ़ेस का उपयोग करके) भेजने के लिए send_mail परिणाम, लेकिन अज्ञात कारण के लिए कार्यकर्ता इसे प्राप्त नहीं कर रहा है (AMQP संदेश कतार में रहता है)। मैंने सत्यापित किया है कि कार्य ठीक से पंजीकृत हैं और प्रेषक और कार्यकर्ता दोनों एक ही ब्रोकर से बात कर रहे हैं। आगे डीबग करने के बारे में सुनिश्चित करें। –