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.1.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.1-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simplemail_cli-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 349ef4da4f3558bc633564c2f5bf96cc13173a0724693ff23f807e21f7be0563
MD5 808b02783c03a611875dec8b5241282f
BLAKE2b-256 1ba4375912649e469664a7ab8f6393a5bc07c0c36e686a61871417ef1aefe18a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplemail_cli-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: simplemail_cli-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b915fef8f2d6e9a22f4de21f01f4401b30e62a4f148d56912c0cc30f5df8b3c2
MD5 64e9d793dbbcfa5e6632bf3416e0cb43
BLAKE2b-256 cc29152327bad75a587c60a1937c12191d7fe0093b23ca1af8f9eb3f9384d848

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplemail_cli-0.1.1-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