mailx-12.5

Introduction to Heirloom mailx

The Heirloom mailx package (formerly known as the Nail package) contains mailx, a command-line Mail User Agent derived from Berkeley Mail. It is intended to provide the functionality of the POSIX mailx command with additional support for MIME messages, IMAP (including caching), POP3, SMTP, S/MIME, message threading/sorting, scoring, and filtering. Heirloom mailx is especially useful for writing scripts and batch processing.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Additional Downloads

Heirloom mailx Dependencies

Optional

nss-3.88.1, MIT Kerberos V5-1.20.1 (for IMAP GSSAPI authentication), and an MTA

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/mailx

Installation of Heirloom mailx

[Note]

Note

This package does not support parallel build.

Install Heirloom mailx by running the following commands.

patch -Np1 -i ../heirloom-mailx-12.5-fixes-1.patch &&

sed 's@<openssl@<openssl-1.0/openssl@' \
    -i openssl.c fio.c makeconfig      &&

make -j1 LDFLAGS+="-L /usr/lib/openssl/" \
         SENDMAIL=/usr/sbin/sendmail

This package does not come with a test suite.

Now, as the root user:

make PREFIX=/usr UCBINSTALL=/usr/bin/install install &&

ln -v -sf mailx /usr/bin/mail &&
ln -v -sf mailx /usr/bin/nail &&

install -v -m755 -d     /usr/share/doc/heirloom-mailx-12.5 &&
install -v -m644 README /usr/share/doc/heirloom-mailx-12.5

Command Explanations

make SENDMAIL=/usr/sbin/sendmail: This changes the default MTA path of /usr/lib/sendmail.

make PREFIX=/usr UCBINSTALL=/usr/bin/install install: This changes the default installation path of /usr/local and the default install command path of /usr/ucb.

Configuring Heirloom mailx

Config Files

/etc/nail.rc and ~/.mailrc

Configuration Information

For displaying mails, mailx uses a pager program. Since the default of pg is not available on a LFS system, its required to specify which pager is to use. By default, there is more and the more comfortable less installed. If the variable PAGER is not set in /etc/profile or ~/.bash_profile, or if it should be another pager just for reading mails, it can be set system wide in /etc/nail.rc:

echo "set PAGER=<more|less>" >> /etc/nail.rc

or individually for the actual user in ~/.mailrc:

echo "set PAGER=<more|less>" >> ~/.mailrc

Other interesting options to set in the config files might be EDITOR and MAILDIR.

If not set in the environment for other packages, the default editor can be set by:

echo "set EDITOR=<vim|nano|...>" >> /etc/nail.rc

Depending on which kind of MTA is installed, it might be required to set the MAILDIR variable so mailx is able to find the mails:

echo "set MAILDIR=Maildir" >> /etc/nail.rc

Contents

Installed Programs: mail, mailx and nail
Installed Libraries: None
Installed Directories: None

Short Descriptions

mailx

is a command-line mail user agent compatible with the mailx command found on commercial Unix versions

mail

is a symbolic link to mailx

nail

is a symbolic link to mailx