47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
# pymail
|
|
|
|
Easily send mails via SMTP and python
|
|
|
|
## Installation
|
|
To install the requirements, run the following command
|
|
```
|
|
python -m pip install -r requirements.txt
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Setup
|
|
1. Copy `vars.py.example` to `vars.py`
|
|
2. Setup `vars.py` with your credentials and config
|
|
3. Adapt `message.html` and save your contact list to `contacts.csv`
|
|
|
|
### Send mail
|
|
Just run
|
|
```sh
|
|
python mail.py
|
|
```
|
|
|
|
## Templating
|
|
You can use the keys from your `csv` directly, prepending a `$` sign (case sensitive!). For example:
|
|
```
|
|
Hello $name, your value is $value!
|
|
```
|
|
would look like the following:
|
|
```
|
|
Hello h4xx0r, your value is 1337!
|
|
```
|
|
|
|
With a `contacts.csv` looking like:
|
|
| name | value |
|
|
|--------|-------|
|
|
| h4xx0r | 1337 |
|
|
|
|
## Options
|
|
### Sending behavior
|
|
Some mail servers will block the requests, if too many are sent too fast. You can use the variables to add delays:
|
|
- `WAIT_EVERY` the amount of mails sent at once
|
|
- `DELAY_SEC` the amount of seconds to wait between sending the next batch
|
|
|
|
### Other options
|
|
- `LOGLEVEL` the logging level, set to `'DEBUG'` for most output
|
|
- `DRY_RUN` if set to `True`, the mails wont get sent, but the output is generated as if they would be sent. Good for testing and best to use with `LOGLEVEL = 'DEBUG'` |