mailsrv/README.md
2023-09-10 22:07:47 +02:00

47 lines
1.1 KiB
Markdown

# mailsrv
A little service to send e-mail.
## Build
```bash
make build
```
## Configuration
`mailsrv` uses an SMTP server to send e-mail so, you need to provide some informations to send e-mails through it:
```ini
[server]
url = "<smtp_url>"
port = "<smtp_port>" # 25 or 587
username = "<username>"
password = "<password>"
[service]
outbox_path = "<dir_path>" # directory used to retrieve `.json` e-mail format to send
```
## Run
```bash
./mailsrv myconfig.ini
```
## How to send a mail ?
### JSON file
* create a JSON file like:
```json
{
"sender":"<email>",
"receivers": "<email_1>,<email_2>, ..., <email_n>",
"subject": "<subject>",
"content": "<mail_content>"
}
```
* put the JSON file in the `outbox` directory defined in the `.ini` file.
### HTTP
An http server is embedded inside `mailsrv` and is listening on port **1212**. To send an email you can post a JSON to **/mail**:
```
curl http://localhost:1212/mail -d '{"sender":"test@test.com","receivers":"test1@test.com,test2@test.com","subject":"test","content":"<h1>test</h1>"}'
```
**NOTE**: HTML is interpreted for the e-mail content.