E-mail with text and html content provided with markdown
Project description
MarkdownMail
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
)
cc_addr and bcc_addr are optional.
The from_addr, to_addr, cc_addr and bcc_addr parameters are the same as
Enveloppe library.
Change SMTP port:
email.send("example.org", port=3325)
Change SMTP login and password:
email.send("example.org", login="user", password="password")
Use TLS:
email.send("example.org", tls=True)
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 (MardownMail is a wrapper around Envelopes library.)
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 markdownmail-0.11.1.tar.gz.
File metadata
- Download URL: markdownmail-0.11.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb33fdadf9961254f6ab16c09adf08474615f392c8429d42da825f9c42a8db68
|
|
| MD5 |
afefad29d5de23f40b5c5ca349e08e98
|
|
| BLAKE2b-256 |
a85fefbc0edc1bd7cf1ae3a04be2862085bdeb4b7561f1c0d407a2535d8b9f94
|
File details
Details for the file markdownmail-0.11.1-py2.py3-none-any.whl.
File metadata
- Download URL: markdownmail-0.11.1-py2.py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20a27ab4c1db22712bc10055ae2474030b949903cdceeeea83bf2f7fd7723259
|
|
| MD5 |
2ecdb7d35a16183b82edf5eedc3f8b5e
|
|
| BLAKE2b-256 |
4f03c1c2dd388ea0bde6a187479ef71ab838543c9058748875e703877dde5e09
|