Skip to main content
Pick whichever channel suits the machine. They all deliver the same binary.
Check it landed:
That reports three things: the CLI version, the version of the Go SDK it sends with, and the Go toolchain it was built by. Quote all three when you report a problem.

Supported platforms

The shell script

The script resolves the latest release, downloads the archive for your platform, verifies it, and puts the binary somewhere on your PATH. Two environment variables steer it:
Checksum verification always runs and there is no flag to skip it. When cosign is on the machine, the script also checks the release signature against the workflow that produced it. install.ps1 is the same installer for Windows. It honors the same two environment variables, installs to a per-user programs directory by default, and verifies the same way.

Verifying a download yourself

Every release carries a checksums.txt, one Sigstore bundle covering that file, and an SBOM per archive. Signing the checksum file rather than each archive means one signature verifies the whole release:

Distribution packages

.deb, .rpm and .apk files are attached to each GitHub release. They are artifacts you download and install, not a hosted repository, so there is nothing to add to a sources list and nothing that auto-updates:
The binary installs to /usr/bin/mailkube.

Containers

The image is distroless and holds the binary and nothing else, published for linux/amd64 and linux/arm64 under one multi-architecture tag:
webhooks listen binds to loopback by default, and a published container port cannot reach the container’s own loopback interface. In a container, pass --host 0.0.0.0 along with -p 4318:4318.

Shell completion

Completion scripts are generated by the binary and written to stdout, so where they go is your shell’s business:
The Homebrew cask and the .deb/.rpm/.apk packages install these for you. Release archives ship them under completions/.

Staying current

Nothing updates itself and nothing phones home to check for a new version. Upgrade the way you installed: brew upgrade, scoop update mailkube, re-run the install script, or re-run go install.
macOS and Windows binaries are not yet signed with a platform certificate. An archive downloaded through a browser will trip Gatekeeper or SmartScreen. The install script clears the quarantine marker, and so does the Homebrew cask, which is why those two paths are the smoother ones on a desktop.

Next steps

Authentication

Store an API key and, if you need it, an SMTP credential.

Quickstart

Send a message end to end.