什么是在事件发生时通过每封电子邮件通知用户的最佳方法 - django

时间:2012-03-22 11:51:50

标签: python django message

因此,假设用户x在网站上向用户y发送消息。 用户y会在网站上收到通知,但不会收到任何有关此内容的电子邮件。

我想要解决的唯一问题就是在用户x向用户y发送消息的代码之后粘贴一些代码向用户y发送电子邮件。

def send_msg(request)
    #request.user sends message to other_user
    #send email to other_user and let him know about his new message

我不知道这种方法在性能方面有多好。

你有什么想法?你会怎么做到这一点?

2 个答案:

答案 0 :(得分:0)

为了提高性能,您可以使用django-mailer。 django-mailer提供了一个电子邮件后端,可以对电子邮件进行排队,而不是直接发送。然后您应该设置sent by a cron job电子邮件,运行manage.py send_mail

此外,您可能希望使用django-notification应用,它有一个很好的通知电子邮件模式+为用户提供一个视图,用于检查/取消选中他/她想要/不想要的通知类型通过电子邮件获取。

答案 1 :(得分:0)

创建post_save信号以在将消息保存到模型后发送电子邮件将是一种解决方案。虽然对于性能,建议使用电子邮件队列解决方案。