60 lines
1.5 KiB
Markdown
60 lines
1.5 KiB
Markdown
# Spamotron
|
|
|
|
Simple mailing script.
|
|
|
|
**Table of content**
|
|
|
|
- [Installation](#installation)
|
|
- [Input format](#input-format)
|
|
- [Licence](#licence)
|
|
|
|
## Installation
|
|
### Requirements
|
|
|
|
On a Debian-based host running at least Debian Stretch, you will need the
|
|
following packages:
|
|
- git (recommended for getting the source)
|
|
- python3
|
|
- python3-jinja2
|
|
|
|
### Manual installation
|
|
|
|
1. Clone repo
|
|
|
|
$ git clone https://forge.april.org/adminsys/spamotron
|
|
$ cd spamotron
|
|
$ chmod a+x mailing.py
|
|
|
|
2. Try it
|
|
|
|
$ ./mailing.py --help
|
|
$ ./mailing.py -t test-recipients-data -b test-emailling --dry-run --verbose
|
|
|
|
## Input format
|
|
|
|
### CSV
|
|
|
|
The « to-file » is expected to be csv with the [default
|
|
dialect](https://docs.python.org/3/library/csv.html?highlight=csv#dialects-and-formatting-parameters)
|
|
(delimiter = `,` and char delimiter =`"`).
|
|
|
|
The first line declare columns headers. The `from` and `to` headers are
|
|
expected the be found. Headers are lower cased.
|
|
|
|
To avoid boring repetition it is possible to declare a default column value
|
|
using `:` in header. The default value is considered when the column is lacking,
|
|
not when the column is empty.
|
|
|
|
### Templates
|
|
|
|
The templates files are expected to be [jinja2
|
|
templates](https://jinja.palletsprojects.com/en/2.11.x/templates/). The csv
|
|
values are accessible using the column name, i.e. one can insert the recipient
|
|
address anywhere in template using `{{ to }}`.
|
|
|
|
Don't worry about escaping: HTML templates are auto escaped.
|
|
|
|
## License
|
|
|
|
Spamotron is developed by April and licensed under the [GPLv2+](LICENSE).
|