Skip to main content

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:

  1. Template variables are enclosed in curly braces like {this}.
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minimailer-0.0.3.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

minimailer-0.0.3-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

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

Hashes for minimailer-0.0.3.tar.gz
Algorithm Hash digest
SHA256 c80f779c3270f0e342685b2eab0dc2dd5d0b9b2dc9fdd53f9beacd912e7d58b8
MD5 d858fdaa47807151c358eceacd9b4af5
BLAKE2b-256 2607118cc7a5e0f659935b750345185e7ea4e25197af5f2675580518450ec82c

See more details on using hashes here.

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

Hashes for minimailer-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 49bfaa559bb749e293c18c86da8349545107ac8a5ef39d34ac7686f4c491d4b8
MD5 207c33682e49c356ae47643e5dcdd641
BLAKE2b-256 d1b1b5dbea3182d7e9c10a33573410eeb455935061cc55b3804ebf41e9b3d230

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page