GNU Mailutils Manual (split by node):   Section:   Chapter:FastBack: Programs   Up: mail   FastForward: Libraries   Contents: Table of ContentsIndex: Function Index

3.5.8 Personal and System-wide Configuration Files

Mail reads its configuration from several places. First, it reads the usual Mailutils configuration files, as described in Mailutils Configuration File.

The following configuration file statements affect mail behavior:

StatementReference
addressSee Sender Address Statements.
debugSee The debug Statement.
mailboxSee The mailbox Statement.
lockingSee The locking Statement.
mailerSee The mailer Statement.

After processing the usual Mailutils configuration files, mail reads two command files prescribed by POSIX: the system-wide command file, and the user’s command file. Each line read from these files is processed like a usual mail command. As with mailutils configuration files, these files are not required to exist.

Per-user configuration file is located in the user’s home directory and is named .mailrc. The location and name of the system-wide configuration file is determined when configuring the package via --with-mail-rc option. It defaults to sysconfdir/mail.rc.

Although this setup might seem unnecessarily complicated, it is based on sound reasons. First of all, since mail is a part of GNU mailutils, it is supposed to use the same settings as its remaining parts. On the other hand, the mail utility is part of POSIX standard, which requires it to read the second pair of files.

Mail command files normally consist of several set statements (see Setting and Unsetting the Variables), modifying some variables, discussed in How to Alter the Behavior of mail. For example:

set hold emptystart editheaders
retain from to subject reply-to in-reply-to date
alt user@example.org

Certain mail settings duplicate those of Mailutils. Here is a list of these:

Mail variableMailutils setting
debug.debug.level
folder.mailbox.folder
sendmail.mailer.url

The rule of thumb that helps to decide which setting to use is simple: if the setting is common for all tools running on that server, place it in the site-wide Mailutils configuration file. Otherwise, place it in one of mail command files.

To trace reading and parsing the Mailutils configuration files, use --config-lint and --config-verbose options. To skip the user configuration file, use the --no-user-config. To skip the system-wide configuration file, use the --no-site-config option. To skip both, use --no-config. See Options That are Common for All Utilities., for details.

To skip reading the system-wide mail command file, use the --norc (-N) option. The per-user command file is ~/.mailrc by default. You can instruct mail to read another file, by setting the environment variable MAILRC to the desired file name. To ignore per-user file altogether, set MAILRC=/dev/null.

GNU Mailutils Manual (split by node):   Section:   Chapter:FastBack: Programs   Up: mail   FastForward: Libraries   Contents: Table of ContentsIndex: Function Index