Django电子邮件摘要

Django电子邮件摘要,django,email,django-email,django-mailer,Django,Email,Django Email,Django Mailer,是否有一个现有的插件可以在Django中生成每日或每周摘要电子邮件?(我们希望将许多小通知合并到一封电子邮件中,而不是一直打扰人们。) Django mailer声称支持这一点,但我被告知事实并非如此。有一个应用程序我到目前为止还不知道,所以下面的答案详细说明了我自己的方法 最简单的情况不需要太多: 将该命令放入你的app/management/commands/send_email_alerts.py,然后设置一个cron作业,每周使用python manage.py send_email_a

是否有一个现有的插件可以在Django中生成每日或每周摘要电子邮件?(我们希望将许多小通知合并到一封电子邮件中,而不是一直打扰人们。)

Django mailer声称支持这一点,但我被告知事实并非如此。

有一个应用程序我到目前为止还不知道,所以下面的答案详细说明了我自己的方法

最简单的情况不需要太多:

将该命令放入你的
app/management/commands/send_email_alerts.py
,然后设置一个cron作业,每周使用
python manage.py send_email_alerts
运行一次该命令(当然,必须在环境中设置所有路径,manage.py才能获取你的应用设置)


但是,如果您需要跟踪向每个用户发送电子邮件的内容和频率,则需要一些额外的代码。这是一个土生土长的。也许这就是django mailer可以填补空白的地方。

我刚刚向PyPI发布了这个包。它支持即时通知、每日和每周摘要以及不同更新组的个人偏好。

为什么,Django不是用户级的东西。这是代码。是的,我只是在想,也许这是关于使用代码,而不是修改它。只是问问而已。
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()