mailinabox-go

Go client library and CLI for the Mail-in-a-Box admin DNS API.

Library

import miab "gitea.koszewscy.waw.pl/koszewscy/mailinabox-go"

// Explicit credentials:
c, err := miab.NewClient("box.example.com", "admin@example.com", "password")

// From environment variables (MIAB_* or MAILINABOX_* style):
c, err := miab.NewClient("", "", "")

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 from registry:

go install gitea.koszewscy.waw.pl/koszewscy/mailinabox-go/cmd/miab@latest

Build locally:

go build -o miab ./cmd/miab

Credentials via environment variables (either style is accepted):

# MIAB style
export MIAB_HOST=box.example.com
export MIAB_USERNAME=admin@example.com
export MIAB_PASSWORD=password

# Mail-in-a-Box style
export MAILINABOX_BASE_URL=https://box.example.com
export MAILINABOX_EMAIL=admin@example.com
export MAILINABOX_PASSWORD=password

Commands:

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"]
S
Description
No description provided
Readme MIT 46 KiB
Languages
Go 100%