Django电子邮件工具。
项目描述
Mailmate 是一个 Django 应用,包含一些使处理电子邮件更简单的工具。其主要功能是使用 Django 模板以简单、基于类的方式定义电子邮件消息。以下是一个简短的介绍
from mailmate import TemplatedEmailMessage
class MyEmail(TemplatedEmailMessage):
to = ['some-user@some-email.com']
from_email = 'no-reply@some-email.com'
subject = 'Hello, {{ name }}!'
template_name = 'emails/template.txt'
MyEmail(extra_context={'name': 'Jerry'}).send()
安装
pip install django-mailmate
TemplatedEmailMessage
扩展 TemplatedEmailMessage,并设置类属性。您可以通过将关键字参数传递给构造函数来覆盖这些属性中的任何一个。
from mailmate import TemplatedEmailMessage
class MyEmail(TemplatedEmailMessage):
to = ['some-user@some-email.com']
from_email = 'no-reply@some-email.com'
subject = 'Hello!'
template = 'emails/template.txt'
MyEmail(to=['somebodyelse@somewhereelse.com']).send()
您可以使用模板来定义您的电子邮件正文(如上述示例所示),或者将其定义为字符串
from mailmate import TemplatedEmailMessage
class MyEmail(TemplatedEmailMessage):
to = ['some-user@some-email.com']
subject = "The subject is parsed as a {{ what }}"
body = "The body's also parsed as a {{ what }}."
MyEmail(extra_context={'what': 'Django template!'}).send()
TemplatedEmailMessage 还使得创建 HTML 电子邮件变得简单。只需将一个 html_template_name 属性添加到您的类中(或将它传递给构造函数)
from mailmate import TemplatedEmailMessage
class MyEmail(TemplatedEmailMessage):
to = ['some-user@some-email.com']
subject = "The subject is parsed as a {{ what }}"
body = "The body's also parsed as a {{ what }}."
html_template_name = 'emails/my_email.html'
TemplatedEmailMessage 类扩展了 django.core.mail.EmailMultiAlternatives,因此您无需对您喜欢的后端进行任何特殊处理即可使用它。
如果您安装了 markdownify,则可以省略消息的纯文本版本;mailmate 将自动从 HTML 版本生成一个。否则,省略 body 和 template_name 会导致引发 MissingBody 异常。如果您想发送没有纯文本正文的电子邮件,则必须明确地将 body 设置为空字符串。
CleanEmailBackend
Mailmate 还包括一个特殊的后端,可以帮助您调试电子邮件。它与 Django 的 django.core.mail.backends.filebased.EmailBackend 类似,但除了 *.log 文件外,它还会保存包含每封邮件版本的正文内容的文件。例如,如果您发送了一封同时具有纯文本和 HTML 版本的邮件,它将保存一个 *.log 文件(包含整个消息),一个 *.txt 文件(包含纯文本正文)和一个 *.html 文件(包含 HTML 选项的正文)。
要使用它,请将 settings.py 中的 EMAIL_BACKEND 和 EMAIL_FILE_PATH 设置配置好
EMAIL_BACKEND = 'mailmate.backends.CleanEmailBackend'
EMAIL_FILE_PATH = '/path/to/messages/'
项目详情
django-mailmate-1.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | efd90549c6fc094ed00a3f75383571f8ad1c01c6c19c34809cf4194aa18aa2f3 |
|
MD5 | 637fc8dbee7f56ae4a7c3b09359114e5 |
|
BLAKE2b-256 | 89e64dfe014afd44a4aa2da553ad3219396b4d53da431a88d277ddf2d5f51bbe |