Có 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.
thuộc về superuser? – falstro
Tại sao, Django không phải là công cụ cấp người dùng. Đây là mã. –
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