This guide covers various installation methods for mailcli on different platforms.
- Go: 1.24 or later (if building from source)
- OS: Linux, macOS, or Windows
- Network: Internet connection for IMAP servers
- Disk: ~10 MB for binary
Download the pre-built binary for your platform from GitHub Releases.
# Linux (amd64) - Auto-detect latest version
VERSION=$(curl -s https://api.github.com/repos/keepmind9/mailcli/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
wget https://github.com/keepmind9/mailcli/releases/download/$VERSION/mailcli-linux-amd64.tar.gz
tar -xzf mailcli-linux-amd64.tar.gz
mkdir -p ~/.local/bin
mv mailcli-linux-amd64 ~/.local/bin/mailcli
# Linux (arm64)
VERSION=$(curl -s https://api.github.com/repos/keepmind9/mailcli/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
wget https://github.com/keepmind9/mailcli/releases/download/$VERSION/mailcli-linux-arm64.tar.gz
tar -xzf mailcli-linux-arm64.tar.gz
mkdir -p ~/.local/bin
mv mailcli-linux-arm64 ~/.local/bin/mailcliNote: If ~/.local/bin is not in your PATH:
# For Linux (bash)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc# macOS (Intel)
VERSION=$(curl -s https://api.github.com/repos/keepmind9/mailcli/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
curl -L https://github.com/keepmind9/mailcli/releases/download/$VERSION/mailcli-darwin-amd64.tar.gz -o mailcli.tar.gz
tar -xzf mailcli.tar.gz
mkdir -p ~/.local/bin
mv mailcli-darwin-amd64 ~/.local/bin/mailcli
# macOS (Apple Silicon)
VERSION=$(curl -s https://api.github.com/repos/keepmind9/mailcli/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
curl -L https://github.com/keepmind9/mailcli/releases/download/$VERSION/mailcli-darwin-arm64.tar.gz -o mailcli.tar.gz
tar -xzf mailcli.tar.gz
mkdir -p ~/.local/bin
mv mailcli-darwin-arm64 ~/.local/bin/mailcliNote: macOS users need to add to PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc# Windows (PowerShell)
$version = (Invoke-RestMethod https://api.github.com/repos/keepmind9/mailcli/releases/latest).tag_name
Invoke-WebRequest -Uri "https://github.com/keepmind9/mailcli/releases/download/$version/mailcli-windows-amd64.zip" -OutFile "mailcli.zip"
Expand-Archive -Path mailcli.zip -DestinationPath .
Move-Item mailcli-windows-amd64.exe C:\Tools\mailcli.exeIf you have Go installed, you can build mailcli from source.
macOS (using Homebrew):
brew install goLinux (Ubuntu/Debian):
sudo apt update
sudo apt install golang-goVerify Go installation:
go version
# Expected: go version go1.24.x or later# Clone repository
git clone https://github.com/keepmind9/mailcli.git
cd mailcli
# Install dependencies
go mod download
# Build
make build
# Binary will be at ./bin/mailcli
./bin/mailcli version# Copy binary to user directory (recommended)
mkdir -p ~/.local/bin
cp bin/mailcli ~/.local/bin/
# Or install to system path (requires sudo)
sudo cp bin/mailcli /usr/local/bin/
# Verify
mailcli versionIf you have Go 1.24+, you can install directly:
go install github.com/keepmind9/mailcli/cmd/mailcli@latestThe binary will be installed to ~/go/bin/mailcli. Make sure ~/go/bin is in your PATH:
# Add to ~/.bashrc or ~/.zshrc
export PATH=$PATH:~/go/bin
# Reload shell
source ~/.bashrc # or source ~/.zshrc
# Verify
mailcli versionmailcli version
mailcli --help# Check if config exists
ls -la ~/.config/mailcli/
# If not exists, initialize
mailcli config add# Test your configured account
mailcli config test# Download latest version
VERSION=$(curl -s https://api.github.com/repos/keepmind9/mailcli/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
wget https://github.com/keepmind9/mailcli/releases/download/$VERSION/mailcli-linux-amd64.tar.gz
tar -xzf mailcli-linux-amd64.tar.gz
mv mailcli-linux-amd64 ~/.local/bin/mailcli
# Verify
mailcli version# Pull latest changes
cd mailcli
git pull origin main
# Rebuild
make build
# Reinstall
cp bin/mailcli ~/.local/bin/go install github.com/keepmind9/mailcli/cmd/mailcli@latest# If installed to user directory
rm ~/.local/bin/mailcli
# Or if installed to system path
sudo rm /usr/local/bin/mailcli
# Or if installed via go install
rm ~/go/bin/mailcli# Remove config directory
rm -rf ~/.config/mailcli/Problem: The binary is not in your PATH.
Solution:
- Check where mailcli is installed:
which mailcli - Add to PATH if needed:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # Linux echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # macOS
- Reload shell:
source ~/.bashrcorsource ~/.zshrc
Problem: The binary is not executable.
Solution:
chmod +x ~/.local/bin/mailcliProblem: Go is not installed or not in PATH.
Solution:
- Install Go from https://golang.org/dl/
- Or use package manager:
brew install go(macOS) orsudo apt install golang-go(Linux)
Problem: Go modules not cached or network issue.
Solution:
# Set Go proxy if in China
export GOPROXY=https://goproxy.cn,direct
# Try again
go mod download
make buildAfter installation: