`muttdown` is a sendmail-replacement designed for use with the [mutt] email client which will transparently compile annotated `text/plain` mail into `text/html` using the [Markdown] standard. It will recursively walk the MIME tree and compile any `text/plain` or `text/markdown` part which begins with the sigil "!m" into Markdown, which it will insert alongside the original in a multipart/alternative container.
It's also smart enough not to break `multipart/signed`.
For example, the following tree before parsing:
Will get compiled into
Muttdown's configuration file is written using [YAML]. Example:
If you prefer not to put your password in plaintext in a configuration file, you can instead specify the `smtp_password_command` parameter to invoke a shell command to lookup your password. The command should output your password, followed by a newline, and no other text. On OS X, the following invocation will extract a generic "Password" entry with the application set to "mutt" and the title set to "firstname.lastname@example.org":
smtp_password_command: security find-generic-password -w -s mutt -a email@example.com
NOTE: If `smtp_ssl` is set to False, `muttdown` will do a non-SSL session and then invoke `STARTTLS`. If `smtp_ssl` is set to True, `muttdown` will do an SSL session from the get-go. There is no option to send mail in plaintext.
The `css_file` should be regular CSS styling blocks; we use [pynliner] to inline all CSS rules for maximum client compatibility.
Muttdown can also send its mail using the native `sendmail` if you have that set up (instead of doing SMTP itself). To do so, just leave the smtp options in the config file blank, set the `sendmail` option to the fully-qualified path to your `sendmail` binary, and run muttdown with the `-s` flag
Install muttdown with `pip install muttdown` or by downloading this package and running `python setup.py install`. You will need the [PyYAML] and [Python-Markdown] libraries, as specified in `requirements.txt`.
muttdown -c /path/to/config -f "from_address" -- "to_address" [more to addresses...]
Send a RFC822 formatted mail on stdin.
If the config path is not passed, it will assume `~/.muttdown.yaml`.
TODO: Brief introduction on what you do with files - including link to relevant help section.