跳转到主要内容

django-email-bandit是一个用于在测试环境中劫持邮件发送的Django邮件后端。

项目描述

A Django 邮件后端,用于在预发布/测试环境中拦截邮件发送。它扩展了默认的 SMTP 后端,以拦截发出的邮件并将它们发送到您指定的单个电子邮件地址。它不会拦截发送到站点的管理员(由 ADMINS 设置定义)的邮件,因此不会干扰 500 错误邮件。

您还可以配置被拦截的邮件通过标准的 Python 日志记录。提供了混合类,以使用相同的拦截逻辑为任何现有的电子邮件后端,例如 django-ses

要求

  • Python 3

  • Django >= 2.2(支持版本)

安装

要使用 pip 安装 django-email-bandit

pip install django-email-bandit

将 django-email-bandit 添加到您的已安装应用

INSTALLED_APPS = (
    ...
    'bandit',
    ...
)

对于您的测试环境,您应启用后端

EMAIL_BACKEND = 'bandit.backends.smtp.HijackSMTPBackend'

并设置将接收所有邮件的电子邮件

BANDIT_EMAIL = 'bandit@example.com'

或甚至多个地址

BANDIT_EMAIL = ['bandit@example.com', 'accomplice@example.com']

还可以为某些电子邮件地址和域名启用白名单

BANDIT_WHITELIST = [
    'iloveemail@example.com',  # Just this specific email address
    'example.net'   # All email addresses @example.net
]

文档

完整项目文档在 Read the Docs 上。

维护者信息

我们使用 Github Actions 来进行代码检查(使用 pre-commit、black、isort 和 flake8),测试(使用 tox 和 tox-gh-actions),计算覆盖率(使用 coverage),以及构建文档(使用 sphinx)。

我们有一个本地脚本来执行这些操作,名为 maintain.sh

$ ./maintain.sh

Github Action 工作流在 Github 中创建新的发布时还会构建和推送新的包到 PyPI。这使用了一个特定项目的 PyPI token,如 PyPI 文档中所述。该 token 已保存在此仓库的 PYPI_PASSWORD 设置中,但未保存在其他任何地方,因此如果出于任何原因需要它,应删除当前的 token 并生成一个新的。

与往常一样,在创建发布之前,请确保在 bandit/__init__.py 中更新版本号,以确保将正确的版本推送到 PyPI。

问题或问题?

如果您有任何问题、问题或改进请求,请通过 Github 告诉我们。

Caktus 咨询集团,LLC 赞助的开发

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

django-email-bandit-2.0.tar.gz (10.2 kB 查看哈希)

上传时间

构建分布

django_email_bandit-2.0-py2.py3-none-any.whl (10.1 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面