Update README and project details
All checks were successful
/ test (push) Successful in 13s

This commit is contained in:
phil 2024-12-12 05:08:52 +01:00
parent 5dae08de63
commit eaa4c0ca96
2 changed files with 67 additions and 1 deletions

View file

@ -10,3 +10,56 @@ with all free accounts in standard mail services.
The tool keeps track of failures: a next run
with the same config file will process only the failures, so all recipients
will eventually be reached.
## Installation
`tinysteady-mailer` is provided as:
* a standard Python package
* a container
See the Packages section on the project's home page: <https://code.philo.ydns.eu/philorg/tinysteady-mailer>.
## Organisation and workflow
Create a yaml config file per mail campaign.
Some example (for different kind of mail servers) are given in the `configs` directory.
There are 2 sources of address:
* embedded in the config file
* with an external json file
Run `tinysteady-mailer` with:
```~~
CONFIG=configs/my-first-campaign.yaml tinysteady-mailer
```
For example, given the local.yaml config file:
```sh
CONFIG=configs/local.yaml tinysteady-mailer
INFO - Using configs/local.yaml
INFO - Mail sent to root@localhost.localdomain
INFO - 1 mails sent successfully
```
A `results/<config_name>` directory is created, with 2 files named
with a timestamp: a `.success` and a `.err` files.
If some mails could not be delivered, the `.err` file contains
records (in json format) of the failures.
A subsequent run with the same config will process only those.
(that this can be overridden in the config file).
For example:
```sh
CONFIG=configs/local.yaml tinysteady-mailer
INFO - Using configs/local.yaml
INFO - Using a file with 1 failed attempts for this config (/home/phil/dev/tinysteady-mailer/results/local/2024-12-12 03:24:38.err)
INFO - Mail sent to root@localhost.localdomain
INFO - 1 mails sent successfully
```