Django 电子邮件后端设置不起作用

标签 django email settings

我有一个带有测试特定设置文件的单元测试,其中包括:

EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH = '/my/file/path'

这是行不通的,所以我在运行测试的过程中进入调试器检查设置:
ipdb> from django.conf import settings
ipdb> settings.EMAIL_BACKEND
'django.core.mail.backends.locmem.EmailBackend'
ipdb> settings.EMAIL_FILE_PATH
'/my/file/path'

文件路径设置有效,但后端设置无效!

有谁知道为什么?

我还能检查/配置什么?

这是错误报告的内容吗?

Django 1.11

最佳答案

这是记录在案的行为。 Django 用一个虚拟的后端替换了常规的电子邮件后端。然后,您可以使用 mail.outbox 访问测试中“已发送”的电子邮件。 . See the docs了解更多信息。

我相信您可以覆盖 EMAIL_BACKEND用于单个测试或测试用例 override_settings

from django.test import TestCase, override_settings

class MyTest(TestCase):
    @override_settings(EMAIL_BACKEND='django.core.mail.backends.filebased.EmailBackend')
    def test_email(self):
        ...

关于Django 电子邮件后端设置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49394678/

相关文章:

python - 我如何处理 django 嵌套模型?

python - Django 动态模型属性

javascript - 我可以使用 JavaScript 创建客户端电子邮件吗?

python - 导航栏未显示在 bootstrap django 中

python - 选择 Django 项目的安装位置

python - 使用内联图像和 PDF 附件创建 HTML 邮件

email - 将使用内容传输编码 : base64 for text and html email present any issues?

c# - 从设置中获取动态属性

user-interface - 将我的 Office 加载项配置页放在哪里?

xcode - Xcode 8 中的项目设置屏幕?