Regarding the nomenclature, there are 3 states for an email in mutt:
- New - message is new and unread (indicated by a N in the first collumn of the index)
- Old - message is old and unread (indicated by an O in the first collumn of the index)
- Read - message has been presented to the user (nothing in the first collumn of the index)
If you start mutt and several new messages are in your inbox and you close mutt before you have read them, then those messages will get flagged as old (by default). The behavior can be controlled via the mark_old configuration variable, i.e. writing
in .muttrc does removes the disctinciton between old and new. I.e. new messages are always new untill they have been read.
However, note that the status you see in the mutt index is not immediately syncronized to the IMAP server - by default this synchronization is triggered by either quitting mutt or pressing
$. Therefore, if you access the IMAP mailbox with another client, changes will appear in this client only after a syncronization has been performed from mutt. Furthermore, if you open a mailbox with mutt and then make changes with another client to that mailbox, mutt will complain about this when synchronizing.