Send automated emails using a CSV datafile and a template
Project description
Minimailer
Minimailer is a small script to send automated emails.
It's feeded from a template file and from a CSV data file, sending one email per CSV row after applying substitutions according to template rules that matches the data columns.
Dependencies
Minimailer has minimal dependencies:
It was successfully tested in Debian but should run in other systems without problems.
Installation
Minimailer can live anywhere in your $PATH
or run directly from the repository.
You can also install Minimailer from PyPI using
pip install minimailer
Basic usage
Minimailer only needs two parameters, the template and the data filenames:
minimailer message.tmpl data.csv
CSV file format
- Minimailer uses the first row in the CSV file as field names.
- All other rows are considered as data.
- There are no constraints about which or how many fields can be used.
- The only requirement is that one of those fields should be used as the email address source.
- By default, the field named
email
is used for email addresses, and can be overriden by the--recipient-field-address
option.
Template file format
Minimailer relies in Python 3's str.format() syntax, meaning that any text file can be used as long as:
- Template variables are enclosed in curly braces like
{this}
. - It implements a valid email message, i.e, it's compatible if the format specified by RFC 2822.
Advanced usage
Minimailer also comes with optional parameters allowing things such as handling
email addresses in a custom contact
field as indicated above:
minimailer message.tmpl data.csv --recipient-field-address 'contact'
Or using a custom sendmail
invocation (in this case, msmtp
with the account
name my-account
):
minimailer message.tmpl data.csv --sendmail-command 'msmtp -a my-account'
Check minimailer --help
for details and more invocation options.
Examples
Check the following files for examples in how to structure your template file and data source:
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
File details
Details for the file minimailer-0.0.3.tar.gz
.
File metadata
- Download URL: minimailer-0.0.3.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c80f779c3270f0e342685b2eab0dc2dd5d0b9b2dc9fdd53f9beacd912e7d58b8 |
|
MD5 | d858fdaa47807151c358eceacd9b4af5 |
|
BLAKE2b-256 | 2607118cc7a5e0f659935b750345185e7ea4e25197af5f2675580518450ec82c |
File details
Details for the file minimailer-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: minimailer-0.0.3-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49bfaa559bb749e293c18c86da8349545107ac8a5ef39d34ac7686f4c491d4b8 |
|
MD5 | 207c33682e49c356ae47643e5dcdd641 |
|
BLAKE2b-256 | d1b1b5dbea3182d7e9c10a33573410eeb455935061cc55b3804ebf41e9b3d230 |