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
emailis used for email addresses, and can be overriden by the--recipient-field-addressoption.
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
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 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
|