Templates for Flask-Mailman
Project description
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 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flask_mailman_templates-0.1.2.tar.gz.
File metadata
- Download URL: flask_mailman_templates-0.1.2.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44f898d88e501373f750710634091c3a15f8d72cc41e6bcc5169f2338c0866aa
|
|
| MD5 |
8ae234b8f1d5dbf4f4f8e776309bdad0
|
|
| BLAKE2b-256 |
ba200ac560c33b07bc6c41e88fb5585d70373bb5f8fcf075812ebc0779f55b8a
|
File details
Details for the file flask_mailman_templates-0.1.2-py3-none-any.whl.
File metadata
- Download URL: flask_mailman_templates-0.1.2-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8709b521ce3904f5e117751bca60674dcef0defad51db89a732892f6fabc85e
|
|
| MD5 |
30a974de0603c5d3629326767d003df9
|
|
| BLAKE2b-256 |
89e9b5f320b2055d6e94d52f9be623096206933020d2a679206bd9e4d79e4e81
|