mh-tailor man page

mh-tailor, mts.conf — mail transport configuration for nmh message handler


The file /etc/nmh/mts.conf defines run-time options for those nmh programs which interact (in some form) with the message transport system. At present, these (user) programs are: ap, conflict, inc, msgchk, msh, post, rcvdist, and rcvpack.

Each option should be given on a single line. Blank lines and lines which begin with `#' are ignored. The options available along with default values and a description of their meanings are listed below:


The mail transport method to use. The three acceptable options are smtp (which is the default), sendmail/smtp, and sendmail/pipe.

If you use smtp, this will enable a direct SMTP (simple mail transport protocol) interface in nmh. When sending mail, instead of passing the message to the mail transport agent, post will open a socket connection to the mail port on the machine specified in the servers entry.

If you use sendmail/smtp, then post will send messages by forking a local copy of sendmail. It will still speak SMTP with this local copy of sendmail. For backward compatibility, sendmail/smtp can be abbreviated to sendmail.

The third alternative, sendmail/pipe, also forks a local copy of sendmail but feeds the message directly to it, using sendmail -t. This replaces the old, undocumented spost mechanism and retains some of its limitations, such as lack of support for the -whom switch and “Dcc:” header field.


The hostname nmh considers local. It should typically be a fully qualified hostname. If this is not set, depending on the version of UNIX you're running, nmh will query the system for this value (e.g. uname, gethostname, etc.), and attempt to fully qualify this value.

If you are using POP to retrieve new messages, you may want to set this value to the name of the POP server, so that outgoing message appear to have originated on the POP server.


If this is set, a `.' followed by this string will be appended to your hostname.

This should only be needed, if for some reason nmh is not able to fully qualify the hostname returned by the system (e.g. uname, gethostname, etc.).


This option specifies the host name that nmh will give in the SMTP HELO (and EHLO) command, when posting mail. If not set, the default is to use the host name that nmh considers local (see localname above). If this option is set, but empty, no HELO command will be given.

Although the HELO command is required by RFC 821, many SMTP servers do not require it. Early versions of SendMail will fail if the hostname given in the HELO command is the local host. Later versions of SendMail will complain if you omit the HELO command. If you run SendMail, find out what your system expects and set this field if needed.


This option is only used for UUCP mail. It specifies the name of the local host in the UUCP “domain”. If not set, depending on the version of UNIX you're running, nmh will query the system for this value. This has no equivalent in the nmh configuration file.

mmdfldir: /var/mail

The directory where maildrops are kept. If this option is set, but empty, the user's home directory is used. This overrides the default value chosen at the time of compilation.


The name of the maildrop file in the directory where maildrops are kept. If this is empty, the user's login name is used. This overrides the default value (which is empty).

mmdelim1: \001\001\001\001\n

The beginning-of-message delimiter for maildrops.

mmdelim2: \001\001\001\001\n

The end-of-message delimiter for maildrops.

spoollocking: fcntl

The locking algorithm to use when opening the maildrop. Can be any one of the following:

fcntl dot flock lockf

maildelivery: /usr/libexec/nmh/maildelivery

The name of the system-wide default maildelivery file. See slocal(1) for the details.

everyone: 200

The highest user-id which should NOT receive mail addressed to “everyone”.


If set, then each user-id greater than “everyone” that has a login shell equivalent to the given value (e.g., “/bin/csh”) indicates that mail for “everyone” should not be sent to them. This is useful for handling admin, dummy, and guest logins.

SMTP support

This option is only available if you set mts to smtp.

servers: localhost

A lists of hosts and networks which to look for SMTP servers when posting non-local mail. It turns out this is a major win for hosts which don't run an message transport system. The value of servers should be one or more items. Each item is the name of a host which is (hopefully) running a SMTP server.


This option is only available if you set mts to sendmail.

sendmail: /usr/sbin/sendmail

The pathname to the sendmail program.

Post Office Protocol


The name of the default POP service host. If this is not set, then nmh looks in the standard maildrop areas for waiting mail, otherwise the named POP service host is consulted.

File Locking

A few words on locking: nmh has two main uses for locking: locking the mail spool during mail incorporation, and locking metadata files (sequence files, the context) during updates. These locking methods can be configured separately from each other.

For locking the mail spool, the spoollocking entry in mh-tailor(5) will control the locking algorithm to use when inc incorporates mail from the spool file. If no entry is given, a default based on the operating system type will be chosen.

For locking all other files, the datalocking entry in mh-profile(5) controls the locking algorithm used for all other file access. If no entry is given, the fcntl lock method will be chosen.

If you do not wish to use kernel-based locking, dot locking is an option available. If “--enable-lockdir=directory” is not specified at build time, lock files will be created in the directory where the file being locked resides. Otherwise, lock files will be created in the directory specified by “--enable-lockdir”.

Prior to installing nmh, you should see how locking is done at your site, and set the appropriate values.


/etc/nmh/mts.confnmh mts configuration file

Profile Components


See Also

mh-mts(8), post(8)


As listed above. The path of the mail transport configuration file can be changed with the MHMTSCONF environment variable and augmented with the MHMTSUSERCONF environment variable, see mh-profile(5).


Failure to open any mail transport configuration file is silently ignored. Therefore, it's best to avoid dynamic creation of such a file with the intent of use via the MHMTSCONF or MHMTSUSERCONF environment variables. If such use is necessary, the ability to successfully open the file should first be verified.

Referenced By

mh-profile(5), nmh(7), post(8), send(1).

Explore man page connections for mh-tailor(5).

mts.conf(5) is an alias of mh-tailor(5).

nmh 1.6 December 8, 2013