跳转到主要内容

适用于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发布

  • 自动将回复头传递给Mailgun(《18fb53f》)

  • 支持flask-mail 0.10.0的更改以指示模式(《3cfe430》)

0.2.4版本发布于2022-11-10

  • 允许通过send发送额外的mailgun API选项(《d35e23d”)

  • 更新CI设置并添加python 3.10(《5552cd2”)

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 查看散列

上传时间: Python 2 Python 3

支持者

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