Дайджест электронной почты Django

Существует ли плагин для создания ежедневных или еженедельных дайджестов электронной почты в Django? (Мы хотим объединить множество небольших уведомлений в одно электронное письмо, а не беспокоить людей постоянно.)

Django-mailer утверждает, что поддерживает это, но мне сказали, что на самом деле это не так.


person Jane Sales    schedule 27.11.2009    source источник
comment
Почему Django — это не пользовательский уровень. Это код.   -  person Rog    schedule 27.11.2009
comment
да, я просто думаю, может быть, речь идет об использовании кода, а не о его модификации. Просто спрашиваю.   -  person falstro    schedule 27.11.2009


Ответы (2)


Существует приложение django-mailer, о котором я до сих пор не знал, поэтому ответ ниже детализирует мой собственный подход.

Самый простой случай не потребует многого:

поместите это в свой app/management/commands/send_email_alerts.py, затем настройте задание cron для запуска этой команды один раз в неделю с python manage.py send_email_alerts (конечно, все пути должны быть установлены в среде, чтобы manage.py мог подобрать настройки вашего приложения)

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

Но если вам нужно будет отслеживать, что отправлять по электронной почте каждому пользователю и как часто, потребуется дополнительный код. Вот собственный пример. Возможно, именно здесь django-mailer сможет заполнить пробелы.

person Evgeny    schedule 28.11.2009

Я только что выпустил пакет django-digested. к ПиПИ. Он поддерживает мгновенные уведомления, ежедневные и еженедельные дайджесты, а также индивидуальные настройки для разных групп обновлений.

person Jerome Baum    schedule 09.02.2012