47 lines
1.1 KiB
Markdown
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.
|