首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Django中测试电子邮件发送

在Django中测试电子邮件发送
EN

Stack Overflow用户
提问于 2010-09-17 00:08:12
回答 6查看 50.2K关注 0票数 101

我需要测试Django应用程序是否发送内容正确的电子邮件。我不想依赖外部系统(如临时gmail帐户),因为我没有测试实际的电子邮件服务……

我想,也许,存储在本地的电子邮件,在一个文件夹中,因为他们被发送。有什么关于如何实现它的提示吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-17 00:10:54

您可以使用file backend for sending emails,这是一个非常方便的开发和测试解决方案;电子邮件不会发送,而是存储在您可以指定的文件夹中!

票数 46
EN

Stack Overflow用户

发布于 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')
票数 200
EN

Stack Overflow用户

发布于 2010-09-17 00:17:46

对于任何不需要发送附件的项目,我使用django-mailer,它的好处是所有出站电子邮件都会在队列中结束,直到我触发它们的发送,甚至在它们发送之后,它们都会被记录下来-所有这些都可以在管理员中看到,这使得快速检查您的电子邮件代码试图发送到中间管中的内容变得容易。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3728528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档