newmail is a command line utility to check for new/unread mail in a recursive Maildir folder structure.
These are some “usage scenarios” of newmail. For the complete documentation refer to the man page or see below.
To get a quick overview about which folders contain unread mail, it's sufficient to call newmail without any commandline arguments:
2 [ INBOX ]
Ah, right. But there's a total of... how many mails?
$ newmail -at
And what are the top ten folders, excluding spam & trash, please?
$ newmail -a | grep -vi 'spam|trash' | sort -nr | head
1557 [ INBOX ]
The following three lines in your .muttrc make mutt's browser switch between showing all folders and only folders containing unread mail by pressing keys ‘a’ and ‘n’ respectively:
macro browser a ":unmailboxes *< enter >:mailboxes `newmail -am`< enter >< check-new >"
"show all mailboxes"
macro browser n ":mailboxes *< enter >:mailboxes `newmail -m`< enter >< check-new >"
"show only mailboxes containing new mail"
Count the total number of mails for every folder in DIRECTORY.
Output folder names in a mutt friendly way. Using this option the output of newmail can be used by the mailboxes command in mutt (see below).
This options has no effect, if --total is specified.
Do not treat unseen mails as new. This may be used to speed up newmail, especially on slow file systems. Only use this option if you are sure that no other process watches the structure and moves mails out of the new/ to the cur/ directory of the mail folders. IMAP servers typically do this, once they told clients about those mails.
This options has no effect, if --all is specified.
Sum up the total number of mails (according to the other options, of course) and display nothing but this number.