E-mail with text and html content provided with markdown
Project description
Purpose
Send e-mails with generated html content.
The content has to be written in Markdown syntax. The text part of the e-mail will be filled verbatim; the html part will be a converted HTML from the Markdown content.
Install
$ pip install markdownmail
Basic Usage
import markdownmail
CONTENT = u"""
SPAMS AND EGGS
==============
This is a demo with a list:
1. Spam
2. Second spam
3. ...and eggs
"""
email = markdownmail.MarkdownMail(
from_addr=u'alice@example.org',
to_addr=u'bob@example.org',
subject=u'MarkdownMail demo',
content=CONTENT
)
email.send('localhost')
Content must be unicode.
More infos
Additional informations are addable:
email = markdownmail.MarkdownMail(
from_addr=(u'alice@example.org', u'Alice'),
to_addr=(u'bob@example.org', u'Bob'),
subject=u'MarkdownMail demo',
content=CONTENT
)
The from_addr and to_addr parameters are the same as Enveloppe library.
Style
A default CSS is automatically added to the e-mail. It includes a font sans serif and minor improvements.
To override the default CSS, pass a string including the style to the css optional parameter of MardownMail:
import markdownmail
email = markdownmail.MarkdownMail(
from_addr=u'alice@example.org',
to_addr=u'bob@example.org',
subject=u'MarkdownMail demo',
content="CONTENT",
css="font-family:monospace; color:green;"
)
Run tests
Tox is automatically installed in virtualenvs before executing the tests. Execute them with:
$ python setup.py test
Disable sending e-mails in your tests
The e-mail is not send if the parameter passed to send() method is an instance of NullServer.
email = markdownmail.MarkdownMail(
#params
)
email.send(markdownmail.NullServer())
Assert about e-mails in your tests
Subclassing NullServer allows to provide a custom behaviour in the check() method:
class MyServer(markdownmail.NullServer):
def check(self, email):
assert u'bob@example.org' == email.to_addr[0]
email.send(MyServer())
Useful links
Envelopes library: https://pypi.org/pypi/Envelopes/0.4 (MardownMail is a wrapper around Envelopes library.)
Markdown syntax: https://daringfireball.net/projects/markdown/syntax
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
Hashes for markdownmail-0.6.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a37c7b5a6ca6d4c6aad8459127776aff02006b01691cb2b3e511b939bed6ac5 |
|
MD5 | 96a0151fa031258246391b080cbbf4bb |
|
BLAKE2b-256 | 2a007f5e1dd272cf4eb1ee1bd1ec4331ebe2d666cdcd46fb15ecc240a16c6fb3 |