Skip to content
0

NeoMutt Overview

A mutt is a dog of mixed breed, often with parents from different, unknown, or multiple lineages, sometimes referred to as a mongrel. They are often considered healthier than purebreds due to higher genetic diversity, which reduces the likelihood of inheriting specific genetic conditions.

Now you understand why both Mutt and NeoMutt use a puppy in their logos.

Mutt vs NeoMutt

Mutt and NeoMutt are powerful, text-based command-line email clients (MUAs) for Unix-like systems, designed for speed and keyboard-driven efficiency.

Comparison

AspectMuttNeoMutt
OriginThe original terminal email clientA popular fork of Mutt (2015)
PhilosophySmall, fast, and stableIntegrates many patches into a feature-rich experience
FeaturesCore email functionalitySidebar, header caching, improved IMAP/Gmail, notmuch integration
DevelopmentConservative, stability-focusedActive development with modern enhancements

Why NeoMutt?

I have chosen NeoMutt as my email client and am gradually migrating from Microsoft Outlook. NeoMutt offers:

  • Sidebar for easy folder navigation
  • Header caching for faster mailbox loading
  • Better IMAP support for modern email providers
  • Native notmuch integration for lightning-fast search

Supporting Tools

A complete terminal email workflow requires several complementary tools.

1. isync / mbsync — IMAP Synchronization

Purpose: Synchronizes mailboxes between your local computer and a remote IMAP server.

FeatureDescription
Bidirectional SyncPropagates new messages, deletions, and flag changes both ways
Protocol SupportSyncs remote IMAP mailboxes with local Maildir storage
EfficiencyUses unique message identifiers (UIDs) to track emails
Offline AccessRead and draft messages without internet; sync when reconnected

Why the dual name?

  • isync — The original project name
  • mbsync — The current executable (major UI/config overhaul)
  • Wrapper — On modern systems, isync is a wrapper that calls mbsync

Common use cases:

  • Power users pairing with NeoMutt, Mutt, or mu4e
  • Creating local, searchable email archives
  • Migrating emails between IMAP servers

2. notmuch — Fast Email Indexing

Purpose: Indexes, searches, and tags large volumes of email messages using the Xapian search engine.

FeatureDescription
Search & TagInstant search across multi-year archives; tag-based organization
WorkflowThin front-end for search; pairs with mbsync for actual email retrieval
IntegrationBindings for Python, Vim, and Emacs
PerformanceWritten in C; handles incremental indexing

Note: Notmuch does not fetch or send email—it manages existing local Maildir structures.

3. khard & khal — Contacts and Calendar

Purpose: Terminal-based personal information management tools.

ToolPurposeFile Format
khardAddress book (create, read, modify vCards)vCard (.vcf)
khalCalendar (view, add, edit events)vCalendar (.ics)

Key Details:

  • Synchronization: Neither handles network sync; use vdirsyncer for CardDAV/CalDAV
  • Integration: Commonly paired with NeoMutt for contact lookup
  • Compatibility: Both written in Python

Series Roadmap

┌─────────────────────────────────────────────────────────────────┐
│                    NeoMutt Tutorial Series                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  [01] Overview  ───────────────────────────────►  You are here  │
│    │                                                            │
│    ▼                                                            │
│  [03] Basic IMAP Setup                                          │
│    • Install NeoMutt and dependencies                           │
│    • Configure IMAP/SMTP connection                             │
│    • Set up email accounts                                      │
│    • Basic folder navigation                                    │
│                                                                 │
│    ▼                                                            │
│  [05] Keymaps & Daily Usage                                     │
│    • Essential keybindings                                      │
│    • Vim-style navigation                                       │
│    • Compose, reply, forward emails                             │
│    • Thread management                                          │
│    • Sidebar configuration                                      │
│                                                                 │
│    ▼                                                            │
│  [07] Search & Filtering                                        │
│    • Pattern modifiers (~s, ~f, ~b, etc.)                       │
│    • Limit vs Search                                            │
│    • Combining patterns (AND, OR, NOT)                          │
│    • Date-based searches                                        │
│    • Message caching for performance                            │
│                                                                 │
│    ▼                                                            │
│  [09] Attachments                                               │
│    • Viewing attachments (HTML, PDF, images)                    │
│    • mailcap configuration                                      │
│    • Adding attachments with fzf                                │
│    • Multi-file attachment workflow                             │
│                                                                 │
│    ▼                                                            │
│  [11] Local Mirror with mbsync                                  │
│    • Install and configure isync/mbsync                         │
│    • Set up bidirectional sync                                  │
│    • Local Maildir structure                                    │
│    • Archive workflow                                           │
│    • Offline email access                                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Series Progression

TutorialFocusSkill LevelEstimated Time
[03] Basic IMAPConnection & accountsBeginner30 min
[05] Keymaps & UsageNavigation & compositionBeginner-Intermediate45 min
[07] Search & FilterFinding emails efficientlyIntermediate30 min
[09] AttachmentsMIME handling & filesIntermediate30 min
[11] Local MirrorOffline access & archivingAdvanced60 min

Throughout this series, we'll mention several complementary tools:

ToolPurposeTutorial
khardContact management[05]
fzfFuzzy file selection[09]
w3mHTML email rendering[09]
zathuraPDF viewer[09]
mbsync/isyncIMAP synchronization[11]
notmuchFast email indexing/search(Advanced topic)

Next Steps

Ready to begin? Start with Tutorial 03: Basic IMAP Setup to get your NeoMutt configuration up and running.

最近更新