2009-11-27 18 views
6

क्या Django में दैनिक या साप्ताहिक डाइजेस्ट ईमेल बनाने के लिए कोई मौजूदा प्लग-इन है? (हम हर समय लोगों को परेशान करने के बजाए कई ईमेल अधिसूचनाओं को एक ईमेल में जोड़ना चाहते हैं।)Django ईमेल digest

Django-mailer इसका समर्थन करने का दावा करता है, लेकिन मुझे बताया गया है कि यह वास्तव में नहीं है।

+0

सुपरसियर पर संबंधित है? – falstro

+0

क्यों, Django उपयोगकर्ता स्तर की सामग्री नहीं है। यह कोड है। –

+0

हाँ, मैं बस सोच रहा हूं, शायद यह इसे संशोधित करने के बजाय कोड का उपयोग करने के बारे में है। सिर्फ पूछ रहे। – falstro

उत्तर

4

django-mailer ऐप है जिसमें से मुझे अब तक पता नहीं था, इसलिए नीचे दिया गया उत्तर मेरे अपने दृष्टिकोण का विवरण देता है।

सरलतम मामले ज्यादा की जरूरत नहीं होगी: अपने app/management/commands/send_email_alerts.py में

पुट इस, तो python manage.py send_email_alerts साथ सप्ताह में एक बार इस आदेश को चलाने के लिए एक क्रॉन जॉब की स्थापना (सभी रास्तों के लिए निश्चित रूप से वातावरण में सेट किया जाना चाहिए

from django.core.management.base import NoArgsCommand 
from django.db import connection 
from django.core.mail import EmailMessage 

class Command(NoArgsCommand): 
    def handle_noargs(self,**options): 
     try: 
      self.send_email_alerts() 
     except Exception, e: 
      print e 
     finally: 
      connection.close() 

    def send_email_alerts(self):   
     for user in User.objects.all(): 
      text = 'Hi %s, here the news' % user.username 
      subject = 'some subject' 
      msg = EmailMessage(subject, text, settings.DEFAULT_FROM_EMAIL, [user.email]) 
      msg.send() 

अपनी ऐप सेटिंग को लेने के लिए) manage.py लेकिन अगर आप क्या प्रत्येक उपयोगकर्ता और कितनी बार ईमेल करने के लिए का ट्रैक रखने की आवश्यकता होगी, कुछ अतिरिक्त कोड की आवश्यकता होगी। यहां एक होमग्राउन example है। हो सकता है कि वह जगह है जहां django-mailer अंतराल को भर सकता है।

3

मैंने अभी पीईपीआई को django-digested पैकेज जारी किया है। यह त्वरित सूचनाओं, दैनिक और साप्ताहिक digests, और अद्यतन के विभिन्न समूहों के लिए व्यक्तिगत वरीयताओं का समर्थन करता है।

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