Troubleshoot IMAP Performance#
Prerequisites#
You can connect to your IMAP server with NeoMutt.
You can reproduce the slowdown (opening a mailbox, checking for new mail, or searching).
Reduce Polling Overhead#
Tune the global polling intervals:
set mail_check = 90
set timeout = 15
Expected result: NeoMutt checks for new mail less frequently, reducing idle overhead.
Avoid Hanging Connections#
Ensure keep-alives are frequent enough for your server:
set imap_keep_alive = 300
Expected result: servers are less likely to disconnect idle sessions.
Disable IMAP IDLE if It Freezes#
If the UI stalls while waiting for new mail, disable IDLE:
unset imap_idle
Expected result: NeoMutt uses polling instead of IDLE, which can be more reliable on some servers.
Limit Large Fetches#
If opening large mailboxes times out, fetch headers in chunks:
set imap_fetch_chunk_size = 200
Expected result: header downloads are split into smaller requests.
Enable Compression#
If bandwidth is a bottleneck, enable IMAP compression:
set imap_deflate = yes
Expected result: large mailbox operations use less bandwidth.
Reduce Connection Churn#
Avoid opening new IMAP connections just to check mail:
set imap_passive = yes
Expected result: NeoMutt only checks mail over existing connections.
See How to Set Up IMAP and IMAP Variables for full details.