MH-TAILOR(5)

NAME
mh-tailor, mts.conf - mail transport customization for nmh message handler

SYNOPSIS
/usr/local/lib/nmh/mts.conf

DESCRIPTION
The file /usr/local/lib/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:

mts:
    The mail transport method to use. The two acceptable options are smtp (which is the default), and sendmail.

    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, then post will send messages by forking a local copy of sendmail. Currently it will still speak SMTP with this local copy of sendmail.

localname:
    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.

localdomain:
    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.).

clientname:
    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 /B 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.

systemname:
    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.

mmdflfil:
    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.

masquerade:
    This directive controls three different types of email address masquerading. The three possible values, which may be specified in any combination on the line, separated by spaces, are “draft_from”, “mmailid”, and “username_extension”.

    “mmailid” was the only type of masquerading in the original MH package, and apparently stands for “masquerade mail identification”. This type of masquerading keys off of the GECOS field of the passwd file. When enabled, nmh will check if the user's pw_gecos field in the passwd file is of the form:

        Full Name <fakeusername>

    If it is, the internal nmh routines that find the username and full name of that user will return “fakeusername” and “Full Name” respectively. This is useful if you want the messages you send to always appear to come from the name of an MTA alias rather than your actual account name. For instance, many organizations set up “First.Last” sendmail aliases for all users. If this is the case, the GECOS field for each user should look like:

        First [Middle] Last <First.Last>

    “username_extension”, when specified on the “masquerade:” line, allows a second type of username masquerading. If the user sets the $USERNAME_EXTENSION environment variable, its value will be appended to the actual login name. For instance, if I am “dan@company.com”, and I set $USERNAME_EXTENSION to “-www”, my mail will appear to come from “dan-www@company.com”. This is meant to interact with qmail's “user-extension” feature, where mail sent to user-string will be delivered to user. Likewise, those using versions of sendmail for which “plussed user” processing is active can set $USERNAME_EXTENSION to “+string”. These MTA features are useful because they allow one to use different email addresses in different situations (to aid in automatic mail filtering or in determining where spammers got one's address) while only actually having a single account. Note that $USERNAME_EXTENSION is only appended to the username when post is generating “[Resent-]From:” lines and the SMTP envelope “From:”. inc, for instance, will not try to read from a maildrop file called “dan-www” (to recall the earlier example).

    “draft_from” controls the most powerful type of address masquerading. Normally, when a user explicitly specifies a “From:” header in a draft, nmh uses it rather than constructing its own. However, to discourage email forgery, the SMTP envelope “From:” and a “Sender:” header are set to the user's real address. When “draft_from” is turned on, though, the envelope “From:” will use the address specified in the draft, and there will be no “Sender:” header. This is useful when a user wants to pretend to be sending mail “directly” from a remote POP3 account, or when remote mail robots incorrectly use the envelope “From:” in preference to the body “From:” (or refuse to take action when the two don't match). Note that the MTA may still reveal the user's real identity (e.g. sendmail's “X-Authentication-Warning:” header).

maildelivery: /usr/local/libexec/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”.

noshell:
    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
These options are only available if you set mts to smtp.

hostable: /usr/local/lib/nmh/hosts
    The exceptions file for /etc/hosts used by post to try to find official names. The format of this file is quite simple:

    1.  Comments are surrounded by sharp (`#') and newline.

    2.  Words are surrounded by white space.

    3.  The first word on the line is the official name of a host.

    4.  All words following the official names are aliases for that host.

servers: localhost \01localnet
    A lists of hosts and networks which to look for SMTP servers when posting 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 either a host or a net (in the latter case, precede the name of the net by a \01). This list is searched when looking for a smtp server to post mail. If a host is present, the SMTP port on that host is tried. If a net is present, the SMTP port on each host in that net is tried. Note that if you are running with the BIND code, then any networks specified are ignored (sorry, the interface went away under BIND).

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

sendmail: /usr/sbin/sendmail
    The pathname to the sendmail program.

  Post Office Protocol
This option is only available if you have compiled nmh with POP support enabled (i.e., “--enable-pop”).

pophost:
    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 several methods for creating locks on files. When configuring nmh, you will need to decide on the locking style and locking directory (if any). The first controls the method of locking, the second says where lock files should be created.

To configure nmh for kernel locking, use the “--with-locking=flock” configure option if you want to use the flock system call; use “--with-locking=lockf” if you want to use the lockf system call; or use “--with-locking=fcntl” if you want to use the fcntl system call for kernel-level locking.

Instead of kernel locking, you can configure nmh to use dot locking by using “--with-locking=dot”. Dot locking specifies that a file should be created whose existence means “locked” and whose non-existence means “unlocked”. The name of this file is constructed by appending “.lock” to the name of the file being locked. If LOCKDIR is not specified, 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 LOCKDIR.

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

FILES
^/usr/local/lib/nmh/mts.conf~^nmh mts configuration file

PROFILE COMPONENTS
None

SEE ALSO
mh-mts(8), post(8)

DEFAULTS
As listed above