The NeoMutt E-Mail Client

Michael Elkins

version 2021-10-15

Abstract

All mail clients suck. This one just sucks less. — me, circa 1995


Table of Contents

1. Introduction
1. NeoMutt Home Page
2. Mailing Lists
3. NeoMutt Online Resources
4. Contributing to NeoMutt
5. Typographical Conventions
6. Copyright
2. Getting Started
1. Core Concepts
2. Screens and Menus
2.1. Index
2.2. Pager
2.3. File Browser
2.4. Sidebar
2.5. Help
2.6. Compose Menu
2.7. Alias Menu
2.8. Attachment Menu
3. Moving Around in Menus
4. Editing Input Fields
4.1. Introduction
4.2. History
5. Reading Mail
5.1. The Message Index
5.2. The Pager
5.3. Threaded Mode
5.4. Miscellaneous Functions
6. Sending Mail
6.1. Introduction
6.2. Editing the Message Header
6.3. Sending Cryptographically Signed/Encrypted Messages
6.4. Sending Format=Flowed Messages
7. Forwarding and Bouncing Mail
8. Postponing Mail
9. Logging
10. Encryption and Signing
10.1. OpenPGP Configuration
10.2. S/MIME Configuration
3. Configuration
1. Location of Initialization Files
1.1. Location of system config files
1.2. Location of user config files
1.3. Config Priority
2. Starter NeoMuttrc
3. Syntax of Initialization Files
4. Address Groups
5. Defining/Using Aliases
6. Changing the Default Key Bindings
6.1. Warnings about Duplicated Bindings
6.2. Terminal Keybindings
7. Changing the current working directory
8. Defining Aliases for Character Sets
9. Setting Variables Based Upon Mailbox
10. Keyboard Macros
11. Using Color and Mono Video Attributes
11.1. Color Style
11.2. Simple Colors
11.3. Color Lists
11.4. Mono Color
12. Message Header Display
12.1. Header Display
12.2. Selecting Headers
12.3. Ordering Displayed Headers
13. Alternative Addresses
14. Mailing Lists
15. Using Multiple Spool Mailboxes
16. Monitoring Incoming Mail
17. User-Defined Headers
18. Specify Default Fcc: and/or Save Mailbox
19. Change Settings Based Upon Message Recipients
20. Change Settings Before Formatting a Message
21. Choosing the Cryptographic Key of the Recipient
22. Dynamically Changing $index_format using Patterns
23. Adding Key Sequences to the Keyboard Buffer
24. Executing Functions
25. Message Scoring
26. Spam Detection
27. Setting and Querying Variables
27.1. Variable Types
27.2. Commands
27.3. User-Defined Variables
27.4. Type Conversions
28. Reading Initialization Commands From Another File
29. Removing Hooks
30. Format Strings
30.1. Basic usage
30.2. Conditionals
30.3. Filters
30.4. Padding
30.5. Conditional Dates
30.6. Bytes size display
31. Control allowed header fields in a mailto: URL
4. Advanced Usage
1. Character Set Handling
2. Regular Expressions
3. Patterns: Searching, Limiting and Tagging
3.1. Pattern Modifier
3.2. Simple Searches
3.3. Nesting and Boolean Operators
3.4. Searching by Date
3.5. Gmail Patterns
4. Marking Messages
5. Using Tags
6. Using Hooks
6.1. Message Matching in Hooks
6.2. Mailbox Matching in Hooks
7. Managing the Environment
8. External Address Queries
9. Mailbox Formats
10. Mailbox Shortcuts
11. Handling Mailing Lists
12. Display Munging
13. New Mail Detection
13.1. How New Mail Detection Works
13.2. Polling For New Mail
13.3. Monitoring New Mail
13.4. Calculating Mailbox Message Counts
14. Editing Threads
14.1. Linking Threads
14.2. Breaking Threads
15. Delivery Status Notification (DSN) Support
16. Start a WWW Browser on URLs
17. Echoing Text
18. Message Composition Flow
19. Miscellany
5. NeoMutt's MIME Support
1. Using MIME in NeoMutt
1.1. MIME Overview
1.2. Viewing MIME Messages in the Pager
1.3. The Attachment Menu
1.4. The Compose Menu
2. MIME Type Configuration with mime.types
3. MIME Viewer Configuration with Mailcap
3.1. The Basics of the Mailcap File
3.2. Secure Use of Mailcap
3.3. Advanced Mailcap Usage
3.4. Example Mailcap Files
4. MIME Autoview
5. MIME Multipart/Alternative
5.1. Reading Multipart/Alternative Emails
5.2. Composing Multipart/Alternative Emails
6. MIME Multipart/Multilingual
6.1. Reading Multipart/Multilingual Emails
6.2. Composing Multipart/Multilingual Emails
7. Attachment Searching and Counting
8. MIME Lookup
6. Optional Features
1. General Notes
1.1. Enabling/Disabling Features
1.2. URL Syntax
2. SSL/TLS Support
2.1. STARTTLS
2.2. Tunnel
3. POP3 Support
4. IMAP Support
4.1. The IMAP Folder Browser
4.2. Authentication
5. SMTP Support
6. OAUTHBEARER and XOAUTH2 Support
7. Managing Multiple Accounts
8. Local Caching
8.1. Header Caching
8.2. Body Caching
8.3. Cache Directories
8.4. Maintenance
9. Sending Anonymous Messages via Mixmaster
10. Attach Headers Color Feature
10.1. Support
10.2. Introduction
10.3. Usage
10.4. neomuttrc
10.5. See Also
10.6. Known Bugs
10.7. Credits
11. Compose to Sender Feature
11.1. Support
11.2. Introduction
11.3. Functions
11.4. neomuttrc
11.5. Known Bugs
11.6. Credits
12. Compressed Folders Feature
12.1. Support
12.2. Introduction
12.3. Commands
12.4. neomuttrc
12.5. See Also
12.6. Credits
13. Conditional Dates Feature
13.1. Support
13.2. Introduction
13.3. Variables
13.4. neomuttrc
13.5. See Also
13.6. Known Bugs
13.7. Credits
14. Encrypt-to-Self Feature
14.1. Support
14.2. Introduction
14.3. Variables
14.4. neomuttrc
14.5. Known Bugs
14.6. Credits
15. Fmemopen Feature
15.1. Support
15.2. Introduction
15.3. See Also
15.4. Known Bugs
15.5. Credits
16. Forgotten Attachment Feature
16.1. Support
16.2. Introduction
16.3. Variables
16.4. neomuttrc
16.5. See Also
16.6. Known Bugs
16.7. Credits
17. Global Hooks
17.1. Introduction
17.2. Commands
17.3. neomuttrc
17.4. See Also
17.5. Known Bugs
17.6. Credits
18. Header Cache Compression Feature
18.1. Support
18.2. Introduction
18.3. Variables
18.4. neomuttrc
18.5. Known Bugs
18.6. Credits
19. Ifdef Feature
19.1. Support
19.2. Introduction
19.3. Commands
19.4. neomuttrc
19.5. Known Bugs
19.6. Credits
20. Index Color Feature
20.1. Support
20.2. Introduction
20.3. Colors
20.4. neomuttrc
20.5. See Also
20.6. Known Bugs
20.7. Credits
21. Initials Expando Feature
21.1. Support
21.2. Introduction
21.3. Variables
21.4. neomuttrc
21.5. See Also
21.6. Known Bugs
21.7. Credits
22. Kyoto Cabinet Feature
22.1. Support
22.2. Introduction
22.3. See Also
22.4. Known Bugs
22.5. Credits
23. Limit Current Thread Feature
23.1. Support
23.2. Introduction
23.3. Functions
23.4. neomuttrc
23.5. Known Bugs
23.6. Credits
24. LMDB Feature
24.1. Support
24.2. Introduction
24.3. See Also
24.4. Known Bugs
24.5. Credits
25. Multiple FCC Feature
25.1. Support
25.2. Introduction
25.3. See Also
25.4. Known Bugs
25.5. Credits
26. Nested If Feature
26.1. Support
26.2. Introduction
26.3. Variables
26.4. neomuttrc
26.5. See Also
26.6. Known Bugs
26.7. Credits
27. New Mail Feature
27.1. Support
27.2. Introduction
27.3. Variables
27.4. neomuttrc
27.5. See Also
27.6. Known Bugs
27.7. Credits
28. NNTP Feature
28.1. Support
28.2. Introduction
28.3. Variables
28.4. Functions
28.5. neomuttrc
28.6. Known Bugs
28.7. Credits
29. Custom backend based Tags Feature
29.1. Support
29.2. Introduction
29.3. Variables
29.4. Functions
29.5. Commands
29.6. Colors
29.7. neomuttrc
29.8. Credits
30. Notmuch Feature
30.1. Support
30.2. Introduction
30.3. Using Notmuch
30.4. Variables
30.5. Functions
30.6. Commands
30.7. Colors
30.8. neomuttrc
30.9. See Also
30.10. Known Bugs
30.11. Credits
31. Pager Read Delay Feature
31.1. Support
31.2. Introduction
31.3. Functions
31.4. Variables
31.5. neomuttrc
31.6. Known Bugs
31.7. Credits
32. Progress Bar Feature
32.1. Support
32.2. Introduction
32.3. Colors
32.4. neomuttrc
32.5. See Also
32.6. Known Bugs
32.7. Credits
33. Quasi-Delete Feature
33.1. Support
33.2. Introduction
33.3. Functions
33.4. neomuttrc
33.5. See Also
33.6. Known Bugs
33.7. Credits
34. Reply With X-Original-To Feature
34.1. Support
34.2. Introduction
34.3. Variables
34.4. neomuttrc
34.5. Credits
35. Sensible Browser Feature
35.1. Support
35.2. Introduction
35.3. See Also
35.4. Known Bugs
35.5. Credits
36. Sidebar Feature
36.1. Support
36.2. Introduction
36.3. Variables
36.4. Functions
36.5. Commands
36.6. Colors
36.7. Sort
36.8. neomuttrc
36.9. See Also
36.10. Known Bugs
36.11. Credits
37. Skip Quoted Feature
37.1. Support
37.2. Introduction
37.3. Functions
37.4. Variables
37.5. neomuttrc
37.6. Known Bugs
37.7. Credits
38. Status Color Feature
38.1. Support
38.2. Introduction
38.3. Commands
38.4. Colors
38.5. neomuttrc
38.6. See Also
38.7. Known Bugs
38.8. Credits
39. TLS-SNI Feature
39.1. Support
39.2. Introduction
39.3. Known Bugs
39.4. Credits
40. Trash Folder Feature
40.1. Support
40.2. Introduction
40.3. Variables
40.4. Functions
40.5. neomuttrc
40.6. See Also
40.7. Known Bugs
40.8. Credits
41. Use Threads Feature
41.1. Support
41.2. Introduction
41.3. Functions
41.4. Variables
41.5. Use Threads
41.6. neomuttrc
41.7. Known Bugs
41.8. Credits
42. Autocrypt
42.1. Requirements
42.2. First Run
42.3. Compose Menu
42.4. Account Management
42.5. Alternative Key and Keyring Strategies
7. Security Considerations
1. Passwords
2. Temporary Files
3. Information Leaks
3.1. Message-Id: headers
3.2. mailto:-style Links
4. External Applications
8. Performance Tuning
1. Reading and Writing Mailboxes
2. Reading Messages from Remote Folders
3. Searching and Limiting
9. Reference
1. Command-Line Options
2. Configuration Commands
3. Configuration Variables
4. Functions
4.1. Generic Menu
4.2. Index Menu
4.3. Pager Menu
4.4. Alias Menu
4.5. Query Menu
4.6. Attachment Menu
4.7. Compose Menu
4.8. Postpone Menu
4.9. Browser Menu
4.10. Pgp Menu
4.11. Smime Menu
4.12. Editor Menu
10. Miscellany
1. Acknowledgements
2. About This Document

List of Tables

1.1. Typographical conventions for special terms
2.1. sidebar_format
2.2. sidebar_format examples
2.3. Sidebar Color Priority
2.4. Config Changes
2.5. Most common navigation keys in entry-based menus
2.6. Most common navigation keys in page-based menus
2.7. Most common line editor keys
2.8. Most common message index keys
2.9. Message status flags
2.10. Message recipient flags
2.11. Most common pager keys
2.12. ANSI escape sequences
2.13. Color sequences
2.14. Most common thread mode keys
2.15. Special Thread Characters
2.16. Most common mail sending keys
2.17. Most common compose menu keys
2.18. PGP key menu flags
3.1. NeoMutt config file search order
3.2. NeoMutt system config file locations
3.3. NeoMutt user config file locations
3.4. Config Priority
3.5. Symbolic key names
3.6. Simple Colours
3.7. Simple Index Colours
3.8. Simple Sidebar Colours
3.9. Simple Compose Colours
3.10. Quoted Email Colours
3.11. Colour Regex Lists
4.1. POSIX regular expression character classes
4.2. Regular expression repetition operators
4.3. GNU regular expression extensions
4.4. Pattern modifiers
4.5. Alias pattern modifiers
4.6. Relative Message Number Ranges
4.7. Message Number Shortcuts
4.8. Absolute Message Number Ranges
4.9. Simple search keywords
4.10. Date units
4.11. Relative date units
4.12. Gmail Example Patterns
4.13. Mailbox shortcuts
5.1. Supported MIME types
6.1. compose-to-sender Functions
6.2. Not all Hooks are Required
6.3. Potential Formatting Scheme
6.4. Date Formatting Codes
6.5. Example Date Tests
6.6. Example 1
6.7. Example 2
6.8. encrypt-self Variables
6.9. forgotten-attachment Variables
6.10. Header Cache Compression Variables
6.11. Header Cache Compression Methods and it's Levels
6.12. Index Colors
6.13. Limit-Current-Thread Functions
6.14. New Mail Command Variables
6.15. NNTP Variables
6.16. NNTP Functions
6.17. Custom tags Variables
6.18. Notmuch/IMAP Functions
6.19. Index Colors
6.20. Notmuch Variables
6.21. Notmuch Functions
6.22. Progress Colors
6.23. Quasi-Delete Functions
6.24. Reply With X-Original-To Variables
6.25. Sidebar Variables
6.26. Sidebar Functions
6.27. Sidebar Colors
6.28. Sidebar Sort
6.29. Skip Quoted Functions
6.30. Skip-Quoted Variables
6.31. Status Colors
6.32. Trash Variables
6.33. Trash Functions
6.34. Use Threads
9.1. Command line options
9.2. Default Generic Menu Bindings
9.3. Default Index Menu Bindings
9.4. Default Pager Menu Bindings
9.5. Default Alias Menu Bindings
9.6. Default Query Menu Bindings
9.7. Default Attachment Menu Bindings
9.8. Default Compose Menu Bindings
9.9. Default Postpone Menu Bindings
9.10. Default Browser Menu Bindings
9.11. Default Pgp Menu Bindings
9.12. Default Smime Menu Bindings
9.13. Default Editor Menu Bindings

List of Examples

3.1. Multiple configuration commands per line
3.2. Commenting configuration files
3.3. Escaping quotes in configuration files
3.4. Splitting long configuration commands over several lines
3.5. Using external command's output in configuration files
3.6. Preventing the output of backticks from being parsed
3.7. Using environment variables in configuration files
3.8. Configuring external alias files
3.9. Setting sort method based on mailbox name
3.10. Header weeding
3.11. Configuring header display order
3.12. Defining custom headers
3.13. Using %-expandos in save-hook
3.14. Embedding push in folder-hook
3.15. Configuring spam detection
3.16. Using user-defined variables for config file readability
3.17. Using user-defined variables for backing up other config option values
3.18. Deferring user-defined variable expansion to runtime
3.19. Type conversions using variables
3.20. Using external filters in format strings
4.1. Matching all addresses in address lists
4.2. Matching restricted to aliases
4.3. Matching any defined alias
4.4. Using boolean operators in patterns
4.5. Specifying a default hook
4.6. Subject Munging
5.1. mime.types
5.2. Attachment counting
6.1. URLs
6.2. Managing multiple accounts
6.3. Example of open-hook
6.4. Example of close-hook
6.5. Example of append-hook