Biff like tool for the terminal
newmail [-b] [-h] [-i interval] [-r] [-w] [ mbox [...]]
The newmail program monitors a given set of mailboxes and looks for new mail. If new mail is received the sender and subject will be written on the terminal it was started from. By default newmail puts itself in the background so the console is still usable.
newmail is able to monitor arbitrary numbers of mailbox files. If no mailbox was specified on the commandline it will monitor the default mailbox, which may be overwritten by the MAIL environment variable.
If more than one mailbox is being monitored, a prefix is printed for each mail line so the user can distinguish between the different mailbox files. By default the prefix is the name of the mailbox without its path.
If a mailbox is specified as path=string then string will be used as prefix for mails received in the mailbox denoted by path.
newmail is able to decode header lines when non-ascii characters are transported. They will be displayed properly if the locale (LC_CTYPE) is set accordingly.
-b
Ring a bell after one or more incoming mails have been detected for at least one mailbox.
-h
Print a help message.
-i interval
Set the interval between two mailbox checks to interval seconds. The default is 60 seconds which is suffient for the terminal. For the use inside of a window or dock application a lower value may be prudent.
-r
Emit raw data from the mail. This will bypass routines to decode character encodings used for mail headers as described in RFC 2047. This may be useful for window applications that want to decode the strings on their own.
-w
Run as window application. This will prevent newmail from moving itself into the background so its output can be used as input for a window application. This will also change the output format slightly and prevent a bell to be rung after new mail has been received.
The output format differs from being read by humans and programs (-w).
newmail: >> Mail from <from> - <subject> >> Priority mail from <from> - <subject>
>> <folder>: Mail from <from> - <subject> >> <folder>: Priority mail from <from> - <subject>
newmail -w: <from> - <subject> Priority: <from> - <subject>
<folder>: <from> - <subject> <folder>: Priority: <from> - <subject>
It should be easy for third party programs which are interested in such information to parse the output when newmail is running with the -w option.
newmail supports the following environment variables:
LANG
Locale setting for the output character set.
LC_CTYPE
Locale setting only for the output character set.
Full path of the user's spool mailbox.
This program is inspired by the newmail program from the Elm interactive mail program. It is a rewrite from scratch though.
Many thanks go to Dave Taylor and the Elm Development Group who have provided me with a great mail program for several years. Many additional thanks go to the former lead developer Dave Taylor who started the program back in 1986.
Joey Schulze <[email protected]>