适用于keg应用程序的邮件发送库
项目描述
邮箱邮件是Flask-Mail的基本包装,为模板提供了一些额外支持。
它远未完成,并且在某些方面提供的好处很少超过Flask-Mail。
用法
$ pip install keg-mail
在您的应用程序中初始化邮箱邮件
import flask
import keg_mail
from keg.signals import app_ready
from keg import Keg
bp = flask.blueprint('main', __name__)
mail = keg_mail.KegMail()
class App(Keg):
use_blueprints = [bp]
与应用程序一起初始化扩展
@app_ready.connect
def init_extensions(app):
"""Init custom extensions used by this application"""
mail.init_app(app)
定义邮件内容
import keg_mail
hello_world_content = keg_mail.EmailContent(
text='Hello {name}!'
html='<h1>Hello {name}!</h1>'
)
发送邮件
from app import mail
import app.emails as emails
import keg_mail
bp.route('/')
def index():
mail.send_email(
'you@something.com',
keg_mail.Email(
subject="Hello {name}!",
content=emails.hello_world_content,
).format(name='You")
)
测试邮件
from app import mail
def test_send_mail():
with mail.record_messages() as outbox:
resp = app.test_client.get('/')
assert len(outbox) == 1
assert outbox[0].subject == "Hello You!"
assert outbox[0].body == "Hello You!"
Mailgun特定的选项
Mailgun支持各种选项,例如标记、用户自定义变量等。这些可以通过传递给应用程序邮件引擎的send方法的mailgun_opts字典直接添加
flask.current_app.mail.send(
msg,
mailgun_opts={
'v:user_name': 'John Doe',
'v:user_id': 100,
},
)
变更日志
0.3.1于2024-06-21发布
解决错过信号签名更改(52fcc11)
0.3.0于2024-06-21发布
0.2.4版本发布于2022-11-10
0.2.3版本发布于2020-07-22
处理在Mailgun事件JSON中解析为小数的时间戳(《6a03528”)
0.2.2版本发布于2020-07-22
修复LogStatusWebhook视图混入中的错误(《8a3ffde”)
0.2.1版本发布于2020-07-22
添加对Mailgun REST API和消息状态跟踪的支持(《b3b4428”)
0.2.0版本发布于2020-04-14
支持Python 3.8(《bfbb945”)
0.1.0 - 2017-03-23
初始发布
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源代码分发
Keg-Mail-0.3.1.tar.gz (16.9 kB 查看散列)
构建分发
Keg_Mail-0.3.1-py2.py3-none-any.whl (20.7 kB 查看散列)