Skip to main content

A simple mail client CLI

Project description

smail

Minimal email client for iCloud. Perfect for iCloud email aliases.

Installation

# Install with uv (recommended)
uv tool install simplemail-cli

# Or use pipx
pipx install simplemail-cli

Features

  • Thread visualization with tree display
  • Rich formatting with unread indicators
  • Thread navigation (smail 0.1, smail 0.last)
  • Quick self-email (smail "reminder" "buy milk")
  • Secure keychain password storage
  • Reply tracking with proper threading
  • Archive emails to iCloud Archive folder
  • Unarchive emails (move back from Archive to Inbox)
  • Attachments
  • Performance optimization (connection reuse, parallel fetch)
  • local smail.toml with just alias, so one can config per project email

Setup

1. Create App-Specific Password

  1. Go to appleid.apple.com
  2. Sign in and navigate to "Sign-In and Security"
  3. Select "App-Specific Passwords"
  4. Click the "+" button to generate a new password

2. Create iCloud Email Alias (optional)

  1. Go to iCloud Mail settings
  2. Click Settings → Accounts → Add Alias
  3. Create an alias (e.g., yourname+smail@icloud.com)
  4. Use this alias in your smail config to keep CLI emails separate

3. Configure smail

# First run guides you through setup
smail

# Or manually create config
cat > ~/.config/smail/config.toml << EOF
email = "your@icloud.com"           # your email alias address, will send emails from here and only show emails for this account
login = "your.appleid@icloud.com"  # Apple ID if different from email
keychain = "your-keychain-service"
EOF

4. Add Password to Keychain

# Add password from command line (macOS)
security add-generic-password \
  -a "your.appleid@icloud.com" \
  -s "your-keychain-service" \
  -w "your-app-specific-password"

# Or let smail prompt you on first run
smail

Usage

# List & Read
smail                          # List emails
smail 0                        # Read email/thread
smail 0.1                      # Read specific message in thread
smail 0.last                   # Read newest message in thread

# Send
smail "Subject" "Body"                      # Send to self
smail user@example.com "Subject" "Body"     # Send to recipient

# Reply, Archive & Delete
smail reply "Quick reply"      # Reply to latest
smail 0 reply "Reply text"     # Reply to specific
smail 0 archive                # Archive email/thread
smail 0 delete                 # Delete email/thread

Security

  • Passwords are stored in macOS Keychain, never in files
  • Always use app-specific passwords, not your main Apple ID password
  • The keychain service name in config.toml should match the one used in the security command

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplemail_cli-0.1.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simplemail_cli-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file simplemail_cli-0.1.0.tar.gz.

File metadata

  • Download URL: simplemail_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for simplemail_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f30cf5bbac862947663be524703258c3f0e9afc285394cdb915d1bb31147f707
MD5 98b6fd8ad7480f3aa2b6c7bfe4d4cbdd
BLAKE2b-256 25d1c9c66d96dfeb4d8c57912f521223cf246b3c37ce6b95c5bb668ab36fdc0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplemail_cli-0.1.0.tar.gz:

Publisher: publish.yml on adriangalilea/smail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simplemail_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: simplemail_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for simplemail_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e4734f0fb78d2c1e1c81b92b61479a78a0dc2f8769a1121f779eb303392c1f4
MD5 748449647ba3726b4219fe751673c20e
BLAKE2b-256 9ba531dc46dafee0e92d19899562b8fb844d40e16b6ba69b79b59b36500f91ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplemail_cli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on adriangalilea/smail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page