inc - incorporate new mail
inc [+folder] [-audit audit-file] [-noaudit] [-changecur |
-nochangecur] [-form formfile] [-format string] [-file name]
[-silent | -nosilent] [-truncate | -notruncate] [-width columns]
[-host hostname] [-user username] [-pack file] [-nopack] [-proxy
command] [-apop | -noapop] [-kpop] [-sasl] [-saslmech mechanism]
[-snoop] [-version] [-help]
Inc incorporates mail from the user’s incoming mail drop into an nmh
You may specify which folder to use with +folder. If no folder is
specified, then inc will use either the folder given by a (non-empty)
“Inbox” entry in the user’s profile, or the folder named “inbox”. If
the specified (or default) folder doesn’t exist, the user will be
queried prior to its creation.
When the new messages are incorporated into the folder, they are
assigned numbers starting with the next highest number for the folder.
As the messages are processed, a scan listing of the new mail is
If the user’s profile contains a “Msg-Protect: nnn” entry, it will be
used as the protection on the newly created messages, otherwise the nmh
default of 0644 will be used. For all subsequent operations on these
messages, this initially assigned protection will be preserved.
If the switch -audit audit-file is specified (usually as a default
switch in the profile), then inc will append a header line and a line
per message to the end of the specified audit-file with the format:
<scan line for first message>
<scan line for second message>
This is useful for keeping track of volume and source of incoming mail.
Eventually, repl, forw, comp, and dist may also produce audits to this
(or another) file, perhaps with “Message-Id” information to keep an
exact correspondence history. “Audit-file” will be in the user’s nmh
directory unless a full path is specified.
Inc will incorporate even improperly formatted messages into the user’s
nmh folder, inserting a blank line prior to the offending component and
printing a comment identifying the bad message.
In all cases, the user’s mail drop will be zeroed, unless the
-notruncate switch is given.
If the profile entry “Unseen-Sequence” is present and non-empty, then
inc will add each of the newly incorporated messages to each sequence
named by the profile entry. Inc will not zero each sequence prior to
The interpretation of the -form formatfile, -format string, and -width
columns switches is the same as in scan.
By using the -file name switch, one can direct inc to incorporate
messages from a file other than the user’s maildrop. Note that the
name file will NOT be zeroed, unless the -truncate switch is given.
If the environment variable $MAILDROP is set, then inc uses it as the
location of the user’s maildrop instead of the default (the -file name
switch still overrides this, however). If this environment variable is
not set, then inc will consult the profile entry “MailDrop” for this
information. If the value found is not absolute, then it is
interpreted relative to the user’s nmh directory. If the value is not
found, then inc will look in the standard system location for the
The -silent switch directs inc to be quiet and not ask any questions at
all. This is useful for putting inc in the background and going on to
inc will normally check local mail drops for mail, as covered above.
But if the option “pophost” is set in “mts.conf”, or if the -host
hostname switch is given, or if the $MAILHOST environment variable is
set, then inc will query this POP service host for mail to incorporate.
If $MAILHOST is set and -host is specified as well, the commandline
switch will override the environment variable.
The default is for inc to assume that your account name on the POP
server is the same as your current username. To specify a different
username, use the -user username switch.
When using POP, you will normally need to type the password for your
account on the POP server, in order to retrieve your messages. It is
possible to automate this process by creating a “.netrc” file
containing your login account information for this POP server. For
each POP server, this file should have a line of the following form.
Replace the words mypopserver, mylogin, and mypassword with your own
machine mypopserver login mylogin password mypassword
This “.netrc” file should be owned and readable only by you.
If passed the -proxy command switch, inc will use the specified command
to establish the connection to the POP server. The string %h in the
command will be substituted by the hostname to connect to.
If inc uses POP, then the -pack file switch is considered. If given,
then inc simply uses the POP to packf the user’s maildrop from the POP
service host to the named file. This switch is provided for those
users who prefer to use msh to read their maildrops.
For debugging purposes, you may give the switch -snoop, which will
allow you to watch the POP transaction take place between you and the
If nmh has been compiled with APOP support, the -apop switch will cause
inc to use APOP rather than standard POP3 authentication. Under APOP,
a unique string (generally of the format <pid.timestamp@hostname> ) is
announced by the POP server. Rather than ‘USER user’, ‘PASS password’,
inc sends ‘APOP user digest’, where digest is the MD5 hash of the
unique string followed by a ‘secret’ shared by client and server,
essentially equivalent to the user’s password (though an APOP-enabled
POP3 server could have separate APOP and plain POP3 passwords for a
single user). -noapop disables APOP in cases where it’d otherwise be
If nmh has been compiled with KPOP support, the -kpop switch will allow
inc to use Kerberized POP rather than standard POP3 on a given
invocation. If POPSERVICE was also #defined to "kpop", inc will be
hardwired to always use KPOP.
If nmh has been compiled with SASL support, the -sasl switch will
enable the use of SASL authentication. Depending on the SASL mechanism
used, this may require an additional password prompt from the user (but
the “.netrc” file can be used to store this password). The -saslmech
switch can be used to select a particular SASL mechanism.
If SASL authentication is successful, inc will attempt to negotiate a
security layer for session encryption. Encrypted traffic is labelled
with ‘(encrypted)’ and ‘(decrypted)’ when viewing the POP transaction
with the -snoop switch.
$HOME/.mh_profile The user profile
/etc/nmh/mts.conf nmh mts configuration file
/var/mail/$USER Location of mail drop
Path: To determine the user’s nmh directory
Alternate-Mailboxes: To determine the user’s mailboxes
Inbox: To determine the inbox, default “inbox”
Folder-Protect: To set mode when creating a new folder
Msg-Protect: To set mode when creating a new message and audit-file
Unseen-Sequence: To name sequences denoting unseen messages
mhmail(1), scan(1), mh-mail(5), post(8)
‘+folder’ defaulted by “Inbox” above
‘-format’ defaulted as described above
‘-truncate’ if ‘-file name’ not given, ‘-notruncate’ otherwise
‘-width’ defaulted to the width of the terminal
The folder into which messages are being incorporated will become the
current folder. The first message incorporated will become the current
message, unless the -nochangecur option is specified. This leaves the
context ready for a show of the first new message.
The argument to the -format switch must be interpreted as a single
token by the shell that invokes inc. Therefore, one must usually place
the argument to this switch inside double-quotes.