MH-TAILOR(5mh)
๐ mh-tailor, mts.conf โ mail transport configuration for nmh ๐
okay bestie, pull up a chair, we're reading MH-TAILOR(5mh) together and honestly? it's giving "settings file that runs the whole show" โจ it lives in section 5 of the mh manual, and it's all about mts.conf ๐
๐ธ NAME ๐ธ
mh-tailor, mts.conf โ mail transport configuration for nmh message handler ๐ฆ
โจ DESCRIPTION โจ
so the file /etc/nmh/mts.conf is where you define run-time options for all the nmh programs that interact โ in some form โ with the message transport system ๐ rn those user programs are: ap, inc, msgchk, post, rcvdist, and rcvpack. periodt.
each option gets one single line, no sprawling, no multitasking ๐
โโ๏ธ blank lines are ignored, and so is anything that starts with # (that's your comment vibe, queen).
here's every option, with its default value and what it actually means ๐
mts:โ the mail transport method you wanna use. three acceptable options:smtp(which is the default, iconic),sendmail/smtp, andsendmail/pipe.- if you use
smtp, that enables a direct SMTP interface in nmh. when you send mail, instead of handing the message off to the mail transport agent,postopens a socket connection to the mail port on the machine named in theserversentry ๐ - if you use
sendmail/smtp, thenpostsends messages by forking a local copy ofsendmail. it'll still speak SMTP with that local copy ofsendmail๐ฃ๏ธ and for backward compatibility,sendmail/smtpcan be abbreviated to justsendmail. - the third one,
sendmail/pipe, also forks a local copy ofsendmail, but it feeds the message directly to it usingsendmail -t. this replaces the old, undocumentedspostmechanism and keeps some of its limitations, like no support for theDcc:header field โ as described in thesendandpostmanual pages. so like, know what you're signing up for ๐
- if you use
localname:โ the hostname nmh considers local. it should typically be a fully qualified hostname. if this isn't set, depending on your version of Unix, nmh will query the system for this value (e.g.uname,gethostname, etc.) and attempt to fully qualify it ๐- if you're using POP to retrieve new messages, you might wanna set this to the name of the POP server, so that outgoing messages look like they originated on the POP server ๐
localdomain:โ if this is set, a.followed by this string gets appended to your hostname.- you should only need this if, for some reason, nmh can't fully qualify the hostname returned by the system (e.g.
uname,gethostname, etc.) ๐ซ
- you should only need this if, for some reason, nmh can't fully qualify the hostname returned by the system (e.g.
clientname:โ this specifies the host name nmh will give in the SMTPHELO(andEHLO) command when posting mail. if it's not set, the default is to use the host name nmh considers local (seelocalnameabove ๐). if this option is set, but empty, then no HELO command will be given ๐- and even though the
HELOcommand is required by RFC 821, lots of SMTP servers don't require it. early versions of SendMail will fail if the hostname in theHELOcommand is the local host. later versions of SendMail will complain if you omit theHELOcommand ๐ญ if you run SendMail, find out what your system expects and set this field if needed.
- and even though the
systemname:โ this one is only used for UUCP mail. it specifies the name of the local host in the UUCP "domain". if not set, depending on your version of Unix, nmh will query the system for this value ๐ฎ this has no equivalent in the nmh configuration file.mmdfldir: /var/mailโ the directory where mail drops 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 mail drop file inside the directory where mail drops are kept. if this is empty, the user's login name is used. this overrides the default value (which is empty) ๐ญspoollocking: fcntlโ the locking algorithm to use when opening the mail drop ๐ can be any one of the following:fcntldotflocklockf
maildelivery: /usr/lib/mh/maildeliveryโ the name of the system-wide defaultmaildeliveryfile ๐ฌ seeslocal(1)for the details.
๐ก SMTP support ๐ก
this option is only available if you set mts to smtp.
servers: localhostโ a single hostname to be used when performing mail submission via SMTP ๐ previous versions of nmh supported multiple hostnames forservers, but the current version of nmh only supports a single entry (the name is kept for backwards compatibility reasons, bless). this can be overridden via the-serverswitch tosend(1). it is not possible to change the mail submission port number in theserversentry โ see the-portswitch tosend(1)for that functionality ๐
๐จ SendMail ๐จ
this option is only available if you set mts to sendmail/smtp or sendmail/pipe.
sendmail: /usr/sbin/sendmailโ the pathname to thesendmailprogram ๐ฎ
๐ค Post Office Protocol ๐ค
pophost:โ the name of the default POP service host. if this isn't set, then nmh looks in the standard mail drop areas for waiting mail; otherwise, the named POP service host is consulted ๐ฅ
๐ File Locking ๐
a few words on locking, bestie, because this part matters:
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) controls 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 don't wish to use kernel-based locking, dot locking is an option available to you ๐
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 ๐
before installing nmh, you should see how locking is done at your site, and set the appropriate values. no cap, do this ๐
๐๏ธ FILES ๐๏ธ
/etc/nmh/mts.confโ nmh mts configuration file
๐ช PROFILE COMPONENTS ๐ช
None โ yeah, literally none, that's the whole vibe ๐
๐ SEE ALSO ๐
mh-mts(8), post(8), send(8) โ go read those too, they're the supporting cast ๐
๐ DEFAULTS ๐
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) ๐
๐ BUGS ๐
failure to open any mail transport configuration file is silently ignored ๐ถ (not even a peep, it's giving ghosting). therefore, it's best to avoid dynamically creating such a file with the intent of using it via the MHMTSCONF or MHMTSUSERCONF environment variables. if you absolutely must do that, the ability to successfully open the file should first be verified โ
fr fr, verify first. silent failure will humble you ๐
okay that's the whole page bestie, you ate this ๐ stay locked, stay configured, and remember: one option per line, always ๐
this was nmh-1.8, dated 2017-02-19 โ mwah, love u, bye ๐ฆโจ
๐ฆ where this page comes from
- debian trixie: nmh 1.8-3
- ubuntu noble: nmh 1.8-1build4
- ubuntu questing: nmh 1.8-3
- ubuntu resolute: nmh 1.8-4
- ubuntu stonking: nmh 1.8-4build1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms