我需要测试Django应用程序是否发送内容正确的电子邮件。我不想依赖外部系统(如临时gmail帐户),因为我没有测试实际的电子邮件服务……
我想,也许,存储在本地的电子邮件,在一个文件夹中,因为他们被发送。有什么关于如何实现它的提示吗?
发布于 2010-09-17 00:10:54
您可以使用file backend for sending emails,这是一个非常方便的开发和测试解决方案;电子邮件不会发送,而是存储在您可以指定的文件夹中!
发布于 2010-09-17 00:18:09
Django测试框架有一些内置的帮助器来帮助你测试e-mail service。
文档中的示例(简短版本):
from django.core import mail
from django.test import TestCase
class EmailTest(TestCase):
def test_send_email(self):
mail.send_mail('Subject here', 'Here is the message.',
'from@example.com', ['to@example.com'],
fail_silently=False)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].subject, 'Subject here')
发布于 2010-09-17 00:17:46
对于任何不需要发送附件的项目,我使用django-mailer,它的好处是所有出站电子邮件都会在队列中结束,直到我触发它们的发送,甚至在它们发送之后,它们都会被记录下来-所有这些都可以在管理员中看到,这使得快速检查您的电子邮件代码试图发送到中间管中的内容变得容易。
https://stackoverflow.com/questions/3728528
复制相似问题