migadu-go is a Go library for interfacing with the Migadu API.
go get github.com/MrLemur/migadu-goSee the pkg.go.dev documentation for full API reference.
Create a client with your admin email and API key (generate one here):
package main
import (
"context"
"fmt"
"os"
"github.com/MrLemur/migadu-go"
)
func main() {
client, err := migadu.New("admin@example.com", "api_key")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
ctx := context.Background()
domain, err := client.NewDomain(ctx, &migadu.Domain{Name: "example.com"})
if err != nil {
fmt.Println(err)
os.Exit(1)
}
mailboxes, err := client.ListMailboxes(ctx, domain)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(mailboxes)
}All methods accept a context.Context as the first argument and return an error if the operation fails.