代码之家  ›  专栏  ›  技术社区  ›  Jane Sales

Django电子邮件摘要

  •  6
  • Jane Sales  · 技术社区  · 15 年前

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

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

    2 回复  |  直到 13 年前
        1
  •  4
  •   Evgeny    15 年前

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

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

        2
  •  3
  •   Jerome Baum    13 年前

    我刚刚发布了 django-digested 打包到pypi。它支持即时通知、每日和每周摘要以及不同更新组的个人偏好。