Skip to main content

Flask-Mailman-Templates

Templates for Flask-Mailman

  • Define your emails as templates
  • Optionnaly use a yaml frontmatter to define metadata like subject
  • Support for markdown emails
  • Support for MJML
  • Inline css using premailer
  • Optionnaly auto generate text alternative from html emails (if html2text is installed)

Installation

pip install flask-mailman-templates

Usage

Initialize Flask-Mailman first then Flask-Mailman-Templates:

from flask import Flask
from flask_mailman import Mail
from flask_mailman_templates import MailTemplates

app = Flask(__name__)
mail = Mail(app)
mail_templates = MailTemplates(app)

Create templates in an email folder. Example email/hello.txt:

---
subject: Hello world
---
Hello from Flask!

Send your email using either TemplatedEmailMessage or send_mail():

from flask_mailman_templates import TemplatedEmailMessage, send_mail

msg = TemplatedEmailMessage("hello.txt", "hello@example.com")
msg.send()

# or

send_mail("hello.txt", "hello@example.com")

The frontmatter is optionnal and options can be passed as keyword arguments (keyword args override the frontmatter if both are used)

send_mail("hello.txt", "hello@example.com", subject="hello world")

Supported formats

Format File extension Required dependency Description
txt txt Text email only
HTML html HTML email only
Markdown md markdown Text + HTML email
MJML mjml mjml HTML email only

If html2text is installed, HTML emails will be automatically converted to text and both content types will be attached (does not apply to markdown).

Configuration

Config key Extension argument  Description Default
MAIL_TEMPLATES_FOLDER template_folder Location of email templates emails
MAIL_TEMPLATES_MARKDOWN_OPTIONS markdown_options Options for the markdown function {}
MAIL_TEMPLATES_INLINE_CSS inline_css Whether to inline css with premailer if installed True
MAIL_TEMPLATES_AUTO_TEXT_BODY_FROM_HTML auto_text_body_from_html Whether to convert HTML content to text content if html2text is installed True

Metadata

Release files for flask-mailman-templates 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flask-mailman-templates 0.1.2
File Size Uploaded
flask_mailman_templates-0.1.2.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flask-mailman-templates 0.1.2
File Interpreter ABI Platform
flask_mailman_templates-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 8.2 kB

Release files / flask_mailman_templates-0.1.2.tar.gz

Download URL flask_mailman_templates-0.1.2.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
44f898d88e501373f750710634091c3a15f8d72cc41e6bcc5169f2338c0866aa
BLAKE2b-256 checksum
How to use checksums
ba200ac560c33b07bc6c41e88fb5585d70373bb5f8fcf075812ebc0779f55b8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic

Release files / flask_mailman_templates-0.1.2-py3-none-any.whl

Download URL flask_mailman_templates-0.1.2-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8709b521ce3904f5e117751bca60674dcef0defad51db89a732892f6fabc85e
BLAKE2b-256 checksum
How to use checksums
89e9b5f320b2055d6e94d52f9be623096206933020d2a679206bd9e4d79e4e81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page