5

Django で毎日または毎週のダイジェスト メールを生成する既存のプラグインはありますか? (私たちは多くの小さな通知を 1 つの電子メールにまとめたいと考えています。

Django-mailer はこれをサポートしていると主張していますが、実際にはそうではないと言われています。

4

2 に答える 2

3

django で消化したパッケージを PyPIにリリースしました。インスタント通知、毎日および毎週のダイジェスト、およびさまざまな更新グループの個別設定をサポートしています。

于 2012-02-09T08:41:54.563 に答える
3

今まで知らなかったdjango-mailerアプリがあるので、以下の回答は私自身のアプローチの詳細です。

最も単純なケースでは、それほど多くは必要ありません:

これを に入れ、app/management/commands/send_email_alerts.pyこのコマンドを週に 1 回実行するように 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 がギャップを埋めることができる場所です。

于 2009-11-28T02:15:15.040 に答える