There is a long-standing technique supported by a large number of
mail servers that allows users to be notified of new mail. In
addition to server support, there are a number of clients that
support this, ranging from full email clients to specialized clients
whose only purpose is to receive new mail notifications and alert a
mail client. This technique is sometimes known as "notify mail"
(after a shareware client of the same name), "biff", and the "finger
In examples, "C:" indicates lines sent by the client, and "S:"
indicates those sent by the server. Line breaks within a command
example are for editorial purposes only. Line breaks in the protocol
are indicated by "CRLF".
With this technique, the server sends the string "nm_notifyuser"
immediately followed by CRLF to the finger port on the IP address for
the user who has received new mail. The finger port is 79. Note
that only the port for finger is used; the finger protocol itself is
The IP address to use may be configured, or the server may use the IP
address that was last used to check mail by the user. Typically,
this is a per-account configuration option.
On the client system, a process must be listening to the finger port
to be useful. When it receives the "nm_notifyuser" string, it takes
a configured action, typically instructing a mail client to fetch
Normally, a TCP connection to the target computer is opened, the
"nm_notifyuser" string is sent, and the connection is closed without
waiting for a response.
In some cases, UDP is used instead of TCP, but the default and
general practice is TCP. Even though only a single message in one
direction is sent (with no reply), TCP is used most often, probably
There is an assumption that the client listening on an IP address
only has responsibility for one email account. If a client can check
multiple accounts and receives the "nm_notifyuser" string, it does
not know which account received the mail.