Django 电子邮件摘要
Posted
技术标签:
【中文标题】Django 电子邮件摘要【英文标题】:Django email digest 【发布时间】:2010-12-20 23:00:03 【问题描述】:是否有现有的插件可以在 Django 中生成每日或每周摘要电子邮件? (我们希望将许多小通知合并到一封电子邮件中,而不是一直打扰人们。)
Django-mailer 声称支持这一点,但我被告知并不支持。
【问题讨论】:
为什么,Django 不是用户级别的东西。这是代码。 是的,我只是在想,也许这是关于使用代码,而不是修改它。只是问问。 【参考方案1】:我刚刚向 PyPI 发布了 django-digested 包。它支持即时通知、每日和每周摘要,以及针对不同更新组的个人偏好。
【讨论】:
【参考方案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()
但是,如果您需要跟踪每个用户的电子邮件内容和频率,则需要一些额外的代码。这是一个本土的example。也许这就是 django-mailer 可以填补的空白。
【讨论】:
以上是关于Django 电子邮件摘要的主要内容,如果未能解决你的问题,请参考以下文章
如何接收来自 Firebase Analytics 的每日摘要电子邮件?
为啥无法收到电子邮件(python、gmail、django)?
Django - 使用 django-mailer 发送批量邮件