2009-11-27 34 views
6

Có trình cắm hiện tại để tạo email thông báo hàng ngày hoặc hàng tuần ở Django không? (Chúng tôi muốn kết hợp nhiều thông báo nhỏ vào một email, thay vì làm phiền mọi người mọi lúc.)Thông báo email Django

Django-mailer tuyên bố hỗ trợ điều này, nhưng tôi đã nói nó không thực sự.

+0

thuộc về superuser? – falstro

+0

Tại sao, Django không phải là công cụ cấp người dùng. Đây là mã. –

+0

vâng, tôi chỉ nghĩ, có thể đây là về cách sử dụng mã, thay vì sửa đổi nó. Chỉ hỏi thôi. – falstro

Trả lời

4

django-mailer ứng dụng mà tôi không biết cho đến bây giờ, vì vậy câu trả lời dưới đây nêu chi tiết cách tiếp cận của riêng tôi.

Các trường hợp đơn giản sẽ không đòi hỏi nhiều:

đặt này vào app/management/commands/send_email_alerts.py của bạn, sau đó thiết lập một công việc định kỳ để chạy lệnh này mỗi tuần một lần với python manage.py send_email_alerts (tất cả các đường dẫn phải được đặt trong môi trường tất nhiên cho manage.py để chọn cài đặt ứng dụng của bạn)

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() 

Nhưng nếu bạn cần theo dõi những gì gửi email cho từng người dùng và tần suất cần thêm một số mã. Đây là một homegrown example. Có lẽ đó là nơi mà django-mailer có thể lấp đầy khoảng trống.

3

Tôi vừa phát hành gói django-digested cho PyPI. Nó hỗ trợ thông báo tức thì, thông báo hàng ngày và hàng tuần, và sở thích cá nhân cho các nhóm cập nhật khác nhau.

Các vấn đề liên quan