跳转到主要内容

MIT Open Learning django邮件应用扩展

项目描述

mitol-django-mail

这是Open Learning Django Mail应用。它提供了一些围绕邮件的关键功能

  • 模板化的多部分HTML电子邮件
  • 自动生成多部分电子邮件的纯文本部分
  • 电子邮件HTML中的CSS内联

入门

pip install mitol-django-mail

添加邮件应用

INSTALLED_APPS = [
    ...
    "mitol.mail.apps.MailApp",
]

设置

常见Django设置

  • SITE_BASE_URL - 网站的host url,包括协议(例如 "https://example.com/")
  • SITE_NAME - 网站的名称

邮件应用设置

mitol-django-mail应用的全部设置都使用MITOL_MAIL_前缀命名空间在Django设置中。

  • MITOL_MAIL_FROM_EMAIL - 所有消息的默认发送者邮箱
  • MITOL_MAIL_REPLY_TO_ADDRESS - 所有消息的默认回复邮箱
  • MITOL_MAIL_MESSAGE_CLASSES - 一个包含完全限定消息类名的列表,使消息类在调试器中可用
  • MITOL_MAIL_ENABLE_EMAIL_DEBUGGER - 如果应启用邮件调试器,则设置为True,您可能希望将其设置为与DEBUG相同的值
  • MITOL_MAIL_RECIPIENT_OVERRIDE - 仅本地使用,此选项覆盖所有发出的电子邮件消息的接收者
  • MITOL_MAIL_FORMAT_RECIPIENT_FUNC - (可选)设置一个自定义函数来格式化接收者。如果您将名称存储在Django内置的User模型以外的位置,通常需要使用此选项。默认:"mitol.mail.defaults.format_recipient"
  • MITOL_MAIL_CAN_EMAIL_USER_FUNC - (可选) 设置为自定义函数以确定是否可以给用户发送电子邮件。您通常会在用户有电子邮件地址之外还有其他条件时使用此选项。默认:"mitol.mail.defaults.can_email_user"
  • MITOL_MAIL_CONNECTION_BACKEND - 用于发送电子邮件的连接后端。只有当您要执行一些anymail无法提供的非常自定义的操作时,才使用此选项。默认:"anymail.backends.mailgun.EmailBackend"

使用方法

创建消息类

这涉及到对mitol.mail.messages.TemplatedMessage进行子类化。要进行子类化,请执行以下操作

  • template_name属性 - 表示此消息模板所在的templates/mail目录内的目录的字符串(例如,"password_reset"
  • name属性 - 您的消息的人性化名称(例如,"密码重置"
  • get_debug_template_context - 静态方法,返回用于在调试器中渲染电子邮件的上下文字典

定义模板

在您的应用程序的templates目录中创建一些模板

templates/
  mail/
    {template_name}/
      subject.txt
      body.html

配置settings.py

将您的自定义消息类添加到MITOL_MAIL_MESSAGE_CLASSES,以便在调试器中使用。

可选自定义

可选地,您还可以覆盖

  • get_base_template_context - 扩展与此类型所有电子邮件一起使用的默认基本模板上下文。返回类型是dict。作为最佳实践,您应该与super().get_base_template_context()合并。
  • get_default_headers - 扩展与此类型所有电子邮件一起使用的默认头信息。返回类型是dict。作为最佳实践,您应该与super().get_default_headers()合并。

项目详情


下载文件

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

源分布

mitol-django-mail-2023.12.19.tar.gz (16.2 kB 查看哈希值)

上传时间

构建分布

mitol_django_mail-2023.12.19-py3-none-any.whl (19.7 kB 查看哈希值)

上传时间 Python 3

由以下支持

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