The NeoMutt E-Mail Client

Michael Elkins

version 2023-05-17

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. Binding a Key Sequence to a Function
6.2. Unbinding a Key Sequence
6.3. Enter versus Return
6.4. Warnings about Duplicated Bindings
6.5. 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. MIME Multipart/Related
7.1. Composing Multipart/Related Emails
8. Attachment Searching and Counting
9. 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. Account Command Feature
10.1. Support
10.2. Introduction
10.3. Usage
10.4. Known Bugs
10.5. Credits
11. Attach Headers Color Feature
11.1. Support
11.2. Introduction
11.3. Usage
11.4. neomuttrc
11.5. See Also
11.6. Known Bugs
11.7. Credits
12. Compose to Sender Feature
12.1. Support
12.2. Introduction
12.3. Functions
12.4. neomuttrc
12.5. Known Bugs
12.6. Credits
13. Compressed Folders Feature
13.1. Support
13.2. Introduction
13.3. Commands
13.4. neomuttrc
13.5. See Also
13.6. Credits
14. Conditional Dates Feature
14.1. Support
14.2. Introduction
14.3. Variables
14.4. neomuttrc
14.5. See Also
14.6. Known Bugs
14.7. Credits
15. Encrypt-to-Self Feature
15.1. Support
15.2. Introduction
15.3. Variables
15.4. neomuttrc
15.5. Known Bugs
15.6. Credits
16. Fmemopen Feature
16.1. Support
16.2. Introduction
16.3. See Also
16.4. Known Bugs
16.5. Credits
17. Forgotten Attachment Feature
17.1. Support
17.2. Introduction
17.3. Variables
17.4. neomuttrc
17.5. See Also
17.6. Known Bugs
17.7. Credits
18. Global Hooks
18.1. Introduction
18.2. Commands
18.3. neomuttrc
18.4. See Also
18.5. Known Bugs
18.6. Credits
19. Header Cache Compression Feature
19.1. Support
19.2. Introduction
19.3. Variables
19.4. neomuttrc
19.5. Known Bugs
19.6. Credits
20. Ifdef Feature
20.1. Support
20.2. Introduction
20.3. Commands
20.4. neomuttrc
20.5. Known Bugs
20.6. Credits
21. Index Color Feature
21.1. Support
21.2. Introduction
21.3. Colors
21.4. neomuttrc
21.5. See Also
21.6. Known Bugs
21.7. Credits
22. Initials Expando Feature
22.1. Support
22.2. Introduction
22.3. Variables
22.4. neomuttrc
22.5. See Also
22.6. Known Bugs
22.7. Credits
23. Kyoto Cabinet Feature
23.1. Support
23.2. Introduction
23.3. See Also
23.4. Known Bugs
23.5. Credits
24. Limit Current Thread Feature
24.1. Support
24.2. Introduction
24.3. Functions
24.4. neomuttrc
24.5. Known Bugs
24.6. Credits
25. LMDB Feature
25.1. Support
25.2. Introduction
25.3. See Also
25.4. Known Bugs
25.5. Credits
26. Multiple FCC Feature
26.1. Support
26.2. Introduction
26.3. See Also
26.4. Known Bugs
26.5. Credits
27. Nested If 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. New Mail Feature
28.1. Support
28.2. Introduction
28.3. Variables
28.4. neomuttrc
28.5. See Also
28.6. Known Bugs
28.7. Credits
29. NNTP Feature
29.1. Support
29.2. Introduction
29.3. Variables
29.4. Functions
29.5. neomuttrc
29.6. Known Bugs
29.7. Credits
30. Custom backend based Tags Feature
30.1. Support
30.2. Introduction
30.3. Variables
30.4. Functions
30.5. Commands
30.6. Colors
30.7. neomuttrc
30.8. Credits
31. Notmuch Feature
31.1. Support
31.2. Introduction
31.3. Using Notmuch
31.4. Variables
31.5. Functions
31.6. Commands
31.7. Colors
31.8. neomuttrc
31.9. See Also
31.10. Known Bugs
31.11. Credits
32. Pager Read Delay Feature
32.1. Support
32.2. Introduction
32.3. Functions
32.4. Variables
32.5. neomuttrc
32.6. Known Bugs
32.7. Credits
33. Progress Bar Feature
33.1. Support
33.2. Introduction
33.3. Colors
33.4. neomuttrc
33.5. See Also
33.6. Known Bugs
33.7. Credits
34. Quasi-Delete Feature
34.1. Support
34.2. Introduction
34.3. Functions
34.4. neomuttrc
34.5. See Also
34.6. Known Bugs
34.7. Credits
35. Reply With X-Original-To Feature
35.1. Support
35.2. Introduction
35.3. Variables
35.4. neomuttrc
35.5. Credits
36. Sensible Browser Feature
36.1. Support
36.2. Introduction
36.3. See Also
36.4. Known Bugs
36.5. Credits
37. Sidebar Feature
37.1. Support
37.2. Introduction
37.3. Variables
37.4. Functions
37.5. Commands
37.6. Colors
37.7. Sort
37.8. neomuttrc
37.9. See Also
37.10. Known Bugs
37.11. Credits
38. Skip Quoted Feature
38.1. Support
38.2. Introduction
38.3. Functions
38.4. Variables
38.5. neomuttrc
38.6. Known Bugs
38.7. Credits
39. Status Color Feature
39.1. Support
39.2. Introduction
39.3. Commands
39.4. Colors
39.5. neomuttrc
39.6. See Also
39.7. Known Bugs
39.8. Credits
40. TLS-SNI Feature
40.1. Support
40.2. Introduction
40.3. Known Bugs
40.4. Credits
41. Trash Folder Feature
41.1. Support
41.2. Introduction
41.3. Variables
41.4. Functions
41.5. neomuttrc
41.6. See Also
41.7. Known Bugs
41.8. Credits
42. Use Threads Feature
42.1. Support
42.2. Introduction
42.3. Functions
42.4. Variables
42.5. Use Threads
42.6. neomuttrc
42.7. Known Bugs
42.8. Credits
43. Autocrypt
43.1. Requirements
43.2. First Run
43.3. Compose Menu
43.4. Account Management
43.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. Most common navigation keys in entry-based menus
2.5. Most common navigation keys in page-based menus
2.6. Most common line editor keys
2.7. Most common message index keys
2.8. Message status flags
2.9. Message recipient flags
2.10. Most common pager keys
2.11. ANSI escape sequences
2.12. Color sequences
2.13. Most common thread mode keys
2.14. Special Thread Characters
2.15. Most common mail sending keys
2.16. Most common compose menu keys
2.17. PGP key menu flags
2.18. PGP key menu validity
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. Fallback key bindings
3.7. Simple 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. ifdef Symbols
6.13. Index Colors
6.14. Limit-Current-Thread Functions
6.15. New Mail Command Variables
6.16. NNTP Variables
6.17. NNTP Functions
6.18. Custom tags Variables
6.19. Notmuch/IMAP Functions
6.20. Index Colors
6.21. Notmuch Variables
6.22. Notmuch Functions
6.23. Progress Colors
6.24. Quasi-Delete Functions
6.25. Reply With X-Original-To Variables
6.26. Sidebar Variables
6.27. Sidebar Functions
6.28. Sidebar Colors
6.29. Sidebar Sort
6.30. Skip Quoted Functions
6.31. Skip-Quoted Variables
6.32. Status Colors
6.33. Trash Variables
6.34. Trash Functions
6.35. 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 a literal dot
4.2. Using \s and matching a literal dot in patterns
4.3. Matching all addresses in address lists
4.4. Matching restricted to aliases
4.5. Matching any defined alias
4.6. Using boolean operators in patterns
4.7. Specifying a default hook
4.8. 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