Skip to content

hyperflask/flask-mailman-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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", "[email protected]")
msg.send()

# or

send_mail("hello.txt", "[email protected]")

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", "[email protected]", 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published