在postjave上发送邀请电子邮件或在django视图中一次发送所有电子邮件?

web*_*ild 2 python email django notifications

在网络应用程序中有一个要求我正在建立用户向他的朋友发送加入邀请的可能性.这些邀请通过Invitation模型存储在数据库中.用户可以一次发送多个邀请.

您认为更合适的是:在后端视图中一次发送所有电子邮件或在邀请中发送一封电子邮件post_save

一次发送一封电子邮件会有很大的性能开销吗?

Tom*_*ski 6

如果这是实时应用程序并且用户体验很重要,那么我建议您避免在post_save处理程序中甚至在视图中发送与电子邮件相关的任何内容.

原因是:SMTP可以关闭,网络连接可以关闭,网络可以启动,但速度可以是蜗牛等.在每种情况下,您的程序中断,或用户等待和等待...等对商业不利.

解决方案是编写/购买/找到能够轻松处理所有这些情况的单独电子邮件调度程序,在遇到问题时提醒管理员,即时切换SMTP门,另外还可以追踪反弹等.

然后,在post_save处理程序中,只添加如下内容:

   email_dispatcher.add_to_queue(my_email)
Run Code Online (Sandbox Code Playgroud)

关于现成的解决方案 - 快速扫描code.google com导致http://code.google.com/p/django-mailer/但我没有使用它,所以无法提出建议.