Skip to content

CLI Troubleshooting

Common issues and solutions when working with the mailiam CLI.

Problem: mailiam: command not found

Solution:

Terminal window
# Verify installation
npm list -g mailiam
# Reinstall if needed
npm install -g mailiam
# Check PATH includes npm global bin
npm bin -g
echo $PATH

Problem: Permission denied during installation

Solution:

Terminal window
# Use npm prefix to avoid sudo
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
# Add to shell profile
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
# Install CLI
npm install -g mailiam

Problem: CLI requires Node.js 16+

Solution:

Terminal window
# Check Node version
node --version
# Update Node.js using nvm
nvm install 18
nvm use 18
# Or download from nodejs.org

Problem: Invalid API key or Authentication failed

Solution:

  1. Check your API key format:

    Terminal window
    # Should start with mlm_
    mailiam auth status
  2. Verify the key in your dashboard

  3. Try setting a new key:

    Terminal window
    mailiam auth set-key YOUR_NEW_API_KEY

Problem: CLI doesn’t find MAILIAM_API_KEY

Solution:

Terminal window
# Check if variable is set
echo $MAILIAM_API_KEY
# Set temporarily
export MAILIAM_API_KEY=your_key_here
# Set permanently in shell profile
echo 'export MAILIAM_API_KEY=your_key' >> ~/.bashrc
source ~/.bashrc

Problem: CLI can’t store credentials

Solution:

macOS:

Terminal window
# Keychain permission issues
security find-generic-password -s "mailiam-cli"
# Grant access when prompted

Linux:

Terminal window
# Install libsecret
sudo apt-get install libsecret-1-dev
# or
sudo yum install libsecret-devel

Windows:

Terminal window
# Run as administrator if needed
# Check Windows Credential Manager

Problem: No configuration file found

Solution:

Terminal window
# Initialize configuration
mailiam init
# Or create manually
touch mailiam.config.yaml

Problem: YAML parsing error

Solution:

Terminal window
# Validate YAML syntax
mailiam test config
# Common issues:
# - Indentation (use spaces, not tabs)
# - Missing colons
# - Unquoted special characters

Valid YAML example:

project:
name: "My App"
slug: "my-app"
domains:
example.com:
forwarding:
"hello@example.com": "team@company.com"

Problem: Project not found when pushing

Solution:

Terminal window
# Check project configuration
mailiam auth status
# Re-initialize if needed
mailiam init --force
# Or set project ID manually in config

Problem: Domain verification fails

Solution:

  1. Check DNS propagation:

    Terminal window
    dig TXT _mailiam.yourdomain.com
    nslookup -type=TXT _mailiam.yourdomain.com
  2. Verify DNS record is correct:

    Terminal window
    mailiam domains verify yourdomain.com --debug
  3. Wait for DNS propagation (up to 48 hours)

Problem: DNS sync fails with Cloudflare

Solution:

Terminal window
# Check provider credentials
mailiam providers test cloudflare
# Re-add provider if needed
mailiam providers add cloudflare
# Verify zone access
mailiam domains sync yourdomain.com --dry-run

Problem: AWS SES verification fails

Solution:

  1. Check AWS region:

    Terminal window
    # Ensure you're in the correct region
    mailiam domains ses-status yourdomain.com
  2. Verify DNS records:

    Terminal window
    mailiam domains setup-ses yourdomain.com
    # Add the returned DNS records
  3. Check SES limits:

    Terminal window
    # Ensure you're not in SES sandbox
    # Request production access if needed

Problem: CLI timeouts or network errors

Solution:

Terminal window
# Check connectivity
ping api.mailiam.dev
curl -I https://api.mailiam.dev
# Set proxy if needed
export HTTP_PROXY=http://proxy:8080
export HTTPS_PROXY=http://proxy:8080

Problem: Corporate firewall blocking requests

Solution:

  1. Whitelist domains:

    • api.mailiam.dev
    • mail.mailiam.dev
  2. Configure proxy:

    Terminal window
    mailiam config set proxy http://proxy:8080
  3. Use alternative endpoint (if available):

    Terminal window
    export MAILIAM_API_URL=https://alternative-api.mailiam.dev

Problem: Form submissions failing

Solution:

  1. Check form endpoint:

    Terminal window
    mailiam domains status
    # Verify the correct endpoint URL
  2. Test form locally:

    Terminal window
    curl -X POST https://api.mailiam.dev/yourdomain.com/send \
    -F "name=Test" \
    -F "email=test@example.com" \
    -F "message=Test message"
  3. Check CORS configuration for browser submissions

Problem: Emails not arriving

Solution:

  1. Check spam folders

  2. Verify email configuration:

    Terminal window
    mailiam test send your@email.com
  3. Check domain SES status:

    Terminal window
    mailiam domains ses-status yourdomain.com

Problem: Email templates not working

Solution:

  1. Validate template files exist

  2. Check template syntax:

    Terminal window
    mailiam templates preview template-name
  3. Verify template variables are correct

Problem: CLI commands are slow

Solution:

Terminal window
# Clear CLI cache
rm -rf ~/.mailiam/cache
# Use debug mode to identify bottlenecks
mailiam push --debug
# Check network connectivity
ping api.mailiam.dev

Problem: Config file too large

Solution:

  • Split configurations into multiple files
  • Use collections for organizing forms
  • Remove unused templates/domains
Terminal window
# Enable detailed logging
mailiam push --debug
mailiam domains verify yourdomain.com --debug
# Or set environment variable
export MAILIAM_DEBUG=true
Terminal window
# Verify CLI version
mailiam --version
# Update to latest
npm update -g mailiam
Terminal window
# Test configuration syntax
mailiam test config
# Dry run deployment
mailiam push --dry-run
  1. GitHub Issues: Report bugs and feature requests
  2. Email Support: support@mailiam.dev
  3. Discord Community: Join our Discord server
  4. Documentation: https://mailiam.dev/docs

Please include:

  • CLI version: mailiam --version
  • Node.js version: node --version
  • Operating system
  • Error messages (with --debug flag)
  • Configuration file (remove sensitive data)
  • Initialize project: mailiam init
  • Check API key has correct permissions
  • Run: mailiam domains verify yourdomain.com
  • Check DNS records are properly set
  • Wait before retrying
  • Contact support if limits seem incorrect
  • Check template file paths
  • Verify template syntax
  • Check provider credentials
  • Verify domain is in Cloudflare zone
  • Use --dry-run to preview changes first

If you can’t find a solution here:

  1. Search existing GitHub issues
  2. Create a new issue with detailed information
  3. Contact support at support@mailiam.dev
  4. Join our community Discord for real-time help