43 lines
942 B
Markdown
43 lines
942 B
Markdown
# mailinabox-go
|
|
|
|
Go client library and CLI for the [Mail-in-a-Box](https://mailinabox.email/) admin DNS API.
|
|
|
|
## Library
|
|
|
|
```go
|
|
import miab "gitea.koszewscy.waw.pl/koszewscy/mailinabox-go"
|
|
|
|
c := miab.NewClient("box.example.com", "admin@example.com", "password")
|
|
|
|
c.SetRecord("foo.example.com", "TXT", "v=spf1 ~all")
|
|
c.AddRecord("foo.example.com", "A", "1.2.3.4")
|
|
c.DeleteRecord("foo.example.com", "A", "1.2.3.4")
|
|
|
|
records, _ := c.ListRecords("TXT")
|
|
```
|
|
|
|
## CLI
|
|
|
|
Install:
|
|
|
|
```sh
|
|
go install gitea.koszewscy.waw.pl/koszewscy/mailinabox-go/cmd/miab@latest
|
|
```
|
|
|
|
Credentials via environment variables:
|
|
|
|
```sh
|
|
export MIAB_HOST=box.example.com
|
|
export MIAB_USERNAME=admin@example.com
|
|
export MIAB_PASSWORD=password
|
|
```
|
|
|
|
Commands:
|
|
|
|
```sh
|
|
miab list [--type TXT]
|
|
miab set --name foo.example.com --type TXT --value "hello"
|
|
miab add --name foo.example.com --type A --value 1.2.3.4
|
|
miab delete --name foo.example.com --type TXT [--value "hello"]
|
|
```
|