The Mail Manager

Modifying mail channels

To modify the mail channel values, use the following steps:

  1. Highlight the mail channel entry, for example SMTP.

  2. Double click or press <Enter>.

    A list of values appears.

  3. Highlight the one you wish to modify and click on Modify.

    This produces the ``Modify'' screen for the value that you selected.

    For each type of mail channel there are the following values to configure:

Channel name

Double clicking on this value produces a text entry field, with the name of the type of mail channel within it. For example the Baduser mail channel will have a text entry field with ``Baduser'' within it. You can rename channels, however the name must not contain the following invalid characters:

    () {} <> ; \ " \r \n \t . , : % @ ! / [] ^  spaces


NOTE: Note that all the characters after and including the ``.'' are characters used by sendmail to separate tokens and are configurable via the OperatorChars option. Note that there can only be one Baduser channel and two channels may not have the same name.

Channel program

Double clicking on this value produces a pull-down menu, with the following four choices:


/etc/mail/slocal
A program which performs final, local delivery, with support for user-tailorable $HOME/.maildelivery files for mail processing. See the slocal(1) and maildelivery(4) manual pages.

SMTP
Simple Mail Transfer Protocol

/usr/bin/uux
The UNIX-to-UNIX system command, which transfers data between UUCP systems. See the uux(1bnu) manual page.

/etc/mail/multihome
A program which routes mail addressed to users in virtual domains to the correct physical users on the system.

There is also the ability to customize a channel by specifying a pathname to a program which you must supply. By default the path to this program begins with /etc/mail, but any location may be specified.

Local mail channels use /etc/mail/slocal, Multihome mail channels use /etc/mail/multihome, and UUCP mail channels use /usr/bin/uux. SMTP, Baduser and Badhost only use SMTP by default, however you can configure them to use anything you want (UUCP for example). The ``Channel Program'' specifies the sendmail ``P='' equate for the delivery agent defined in sendmail.cf. For more details about equates in sendmail, see UNRESOLVED XREF-0.

Channel program arguments

The program that is to be run by the channel to perform delivery is given its list of command-line arguments by this value. For example, consider the Local channel, which uses ``slocal'' to deliver local mail. The slocal program must be passed the recipient's name on the command-line. So you must specify this argument for the channel program via the Mail Manager. sendmail keeps track of the recipients the mail is addressed to, as well as other information needed for delivery, in macros, which can be referenced in the program arguments. One such macro is named u, which contains the current recipient name. The value of the macro is obtained by prefixing the macro name with a dollar sign ($). Using the slocal example, we can then specify the program arguments as ``slocal -user $u''. The name of the program itself must always appear in the program arguments value, but a full path should not be specified (this was given in the Channel Program value).

For more information on the program arguments (A=) equate, and sendmail macros, see UNRESOLVED XREF-0 and UNRESOLVED XREF-0. For a more detailed discussion on how information is passed to delivery programs, see UNRESOLVED XREF-0.

When you create a new channel, a default value for the program arguments will be automatically provided, if you choose an existing program that is available for selection in the ``New Channel'' screen (for example, /etc/mail/slocal, SMTP, /usr/bin/uux, /etc/mail/multihome). Likewise, creating a channel from the Settings menu will provide a default value for the arguments to match the program.

However, you may modify the program arguments by double clicking on this value in the main screen. This produces a text entry field with the selected channel's current program arguments. You must type in the new value. Typical (default) values for each available channel program are as follows:


Local
slocal -user $u

SMTP
IPC $h

UUCP
uux - -r -a$f -gC$h!rmail ($u)

Multihome
multihome $u

Badhost
IPC $h

Baduser
IPC $h
Do not alter the default program arguments for slocal, uux, and multihome, unless you have altered the programs themselves accordingly.

``IPC'' is a special internal name to sendmail that instructs it to make a network connection to the recipient host using SMTP. Therefore, it will be automatically used in the program arguments if the SMTP channel program is selected.


NOTE: The ``$u'' macro should never be included in the program arguments for ``IPC''.

The ``$h'' is the value for the recipient host macro, commonly used for remote mail delivery. See UNRESOLVED XREF-0. for definitions for other sendmail macros.

Channel run directory

The Channel Run Directory specifies a series of directories for sendmail to attempt to change directory (chdir) into before invoking the delivery program. Double clicking on this value produces a text entry field, into which you may enter a list of colon-separated directory pathnames. By default, all mail channels run their delivery programs from /var/spool/mqueue. The Channel Run Directory specifies the D=equate for the delivery agent defined in sendmail.cf. For more details on equates, see UNRESOLVED XREF-0.

Channel table type

Double clicking on this value produces a pull-down menu with the following values:


Match Unknown Users
This table will match any local address where the user name is unknown. This includes an address with a machine name specified, if the machine name is the name of the local host.

Look in Name Service
This table will match any remote address whose host name portion can be resolved in DNS.

Match UUCP Configuration (Systems File)
This table will match any remote address whose host name portion can be found in the file /etc/uucp/Systems, that is, the host name is a known UUCP host.

Match Non-Local Users
This table will match any mail addressed to a remote host.

Match Local Users
This table will match any mail lacking a host name portion, or any mail whose host name portion is the name of the local host.

File Lookup
This table's data is contained in a regular file. It is a file of key/value pairings, similar to the domain table. However, this file only maps one host name to another - subdomain lookups are not allowed, and a route cannot be specified in the value of the entry. This table will match any remote address whose host name portion is listed as a key in the table. The channel which uses this form of table also forwards the message to the host specified in the value of the table entry.
For a more detailed discussion of mail channels and channel tables, see UNRESOLVED XREF-0.

By default, local mail channels use ``Match Local Users'', SMTP mail channels use ``Look in Name Service'', UUCP mail channels use ``Match UUCP Configuration'', Multihome mail channels use ``File Lookup'', Badhost mail channels use ``Match Non-Local Users'' and Baduser mail channels use ``Match Unknown Users''. Note that a channel that is not last in the list cannot have a ``Match Unknown Users'' table type. Channels work on the premise that the first channel lookup that successfully matches the address gets to deliver that message. ``Match Unknown Users'' should be last in order to give the other channels a chance to resolve the message first.

Channel table file

If you have created a channel whose table is of type file, you will need to create a channel table file, and populate it with data which determines what messages will be delivered by the channel. Each entry in the file is a key/value pairing, mapping one host name (the key) to another (the value). All remote messages whose host name portion of the address can be found as a key in the table file, and which has not previously been resolved by a channel, will be delivered by this channel.

A channel table file groups together host names (the keys of the table) which the channel will deliver mail for. The value of the table entry can be passed to the delivery program via the sendmail $h macro. In the case of a delivery program such as SMTP, the value of the table entry becomes the name of the host the channel forwards the message to. For a more detailed discussion of channel tables, see UNRESOLVED XREF-0.

By default, when you created the channel, a suggested pathname /etc/mail/table/New was given as the value for the Channel Table File. However, this may be modified.

The Channel Table File entry in the main screen is therefore only activated if the Channel Table Type value is ``File Lookup''. Double clicking on this value produces a ``Modify Channel Table File'' screen. This screen contains a text entry field with the pathname to the channel table file. If this is a newly added channel, then the default pathname /etc/mail/table/New appears in the text field. You may change this to a different pathname. Note that this file does not have to exist for a channel of this type to be created, and the mail configuration saved. If the file does not exist, the channel will not be effective - it will never be selected for delivery, but will not prevent mail from being delivered by another channel.

By default, the Multihome channel uses the channel table file /var/internet/ip/127.0.0.1/mail/virtdomains, which does not need to be edited - rather, the Virtual Domain User Manager automatically creates this table if you have virtual domains configured for the system. See ``The Virtual Domain User Manager'', for more information.

Adding to the channel table

To add to the channel table file, follow these steps:

  1. Select the ``Channel Table File'' value and double click to produce the ``Modify Channel Table File'' screen.

  2. Click Edit Channel Table File to produce the channel table file.

    The ``Channel Table File'' screen has fields entitled ``Host'' and ``Forward Via''.

  3. Either click on Add or select the Entry -> Add menu option.

    This produces the ``Add Channel Table Entry'' screen.

  4. Enter the ``Host Name'' or click on Select to select one from the ``Select Host'' screen. A host name must not contain a space and a host name must not be the same as an entry already in the table.

  5. Enter the ``Forward Host Name'' or click on Select to select one from the ``Select Host'' screen.

    Note that there must be an entry in both the ``Host Name'' field and the ``Forward Host Name'' field.

  6. Click on OK to return to the ``Channel Table File'' screen.

Modifying the channel table

To modify the channel table file, follow these steps:

  1. Select the ``Channel Table File'' value and double click to produce the ``Modify Channel Table File'' screen.

  2. Click Edit Channel Table File to produce the channel table file.

    The ``Channel Table File'' screen has fields entitled ``Host'' and ``Forward Via''.

  3. Click on Modify to produce the ``Modify Channel Table Entry'' screen.

    This is similar to the ``Add Channel Table Entry'' screen. See ``Adding to the channel table''.

Deleting an entry in the channel table file

To delete an entry, highlight the entry and click on Delete.

The arrow buttons are for use when there are multiple entries.

The Help system and the toolbar may be enabled by selecting the Options -> Pointhelp and Options -> Toolbar menu options, respectively.

Exiting the channel table file

To exit the ``Channel Table File'':

  1. Select the Entry -> Save menu option to save changes.

  2. Select the Entry -> Exit menu option to quit.

Forward all channel mail to

  1. Double clicking on this value produces the ``Modify Forward all Channel Mail to:'' screen.

    By default, local mail channels, SMTP mail channels, UUCP mail channels and Multihome mail channels have NONE specified in this field. In general, the Multihome mail channel should have no forwarding host. However, to enable forwarding for other mail channels, you may enter a host name. When setting up the Badhost channel for the purpose of forwarding, or setting up the Baduser mail channel, you must enter a host name. The screen will automatically pop up and you can either enter a host name in the field or click on Select to enable you to select a host name from the ``Select Host'' screen. To configure the Badhost channel as a queueing mechanism in the event of name service timeouts, click on the None/Delay button, or alternatively, enter a null string.

  2. Select a host name.

  3. Click on OK to return to the main screen.

Channel flags

Flags configure a delivery agent's behavior. They are equivalent to the ``F='' equate in sendmail, which is part of the delivery agent definition in sendmail.cf. Each flag is a single character, and each is Boolean; either set (if it is present) or not (if it is absent). Double clicking on the value produces the ``Modify Channel Flags'' screen. By default, the mail channel types have the following values:


Multihome
lsDFMPeu8

UUCP
mDFMhuU8

Local
lsDFMPhoAw5:|/@8

SMTP
mlsDFMPeu8

Badhost
mlsDFMPeu8

Baduser
mlsDFMPeu8

To change any flags or to display their meaning:

  1. Click on Select to produce the ``Channel Flags Table''.

  2. Do either of the following:

  3. Click on OK to return to the ``Modify Channel Flags'' screen.

  4. Click on OK when in the ``Modify Channel Flags'' screen to return to the main screen.

Channel end of line character

The end of line characters are generated by sendmail for outgoing messages and recognized by sendmail for incoming messages. The Channel End of Line Character value corresponds to the sendmail ``E='' equate of the channel's delivery agent definition in sendmail.cf.

  1. Double click on the value to produce the ``Modify Channel End of Line Character'' screen.

    In general, channels which use SMTP as their delivery program should have their end-of-line field set to ``\r\n'' (carriage return and line feed). Channels which do not use SMTP as their delivery program should have their end-of-line field set to ``\n'' (a single line feed character).

  2. Click on OK to return to the main screen.

Channel maximum message size

This is the maximum acceptable size in bytes, header and body combined of messages handled by the channel's delivery agent. The Channel Maximum Message Size value corresponds to the sendmail ``M='' equate of the channel's delivery agent definition in sendmail.cf.

  1. Double click on the value to produce the ``Modify Channel Maximum Message Size'' screen.

    By default, a channel which uses the delivery program /usr/bin/uux (UUCP mail) has a maximum message size of 100000. Otherwise, the default is set to 20000000. The lower default for UUCP mail is recommended because the cost of telephone connections may be of concern. If disk space is limited, this may also be a concern for channels which send their mail to files. You can modify the message size maximum by entering a numeric value from 0 to 2000000000: if an incorrect number is entered, an error message is displayed.

  2. Click on the None button if you want no checking to be done for a maximum. Note that this is also accomplished by setting the value to 0.

  3. Click on OK to return to the main screen.

Channel maximum line size

This is the maximum length in characters of text lines in the body of a message. The Channel Maximum Line Size value corresponds to the sendmail ``L='' equate of the channel's delivery agent definition in sendmail.cf.

Limiting the line length to n characters causes overly long lines to be split into pieces of length n or less. By default, channels which use SMTP as their delivery program have their maximum line size set to 990. Otherwise, channels have a default size of None (that is, no limit).

  1. Double click on the value to produce the ``Channel Maximum Line Size'' screen.

  2. You can change the line length by entering a numeric value from 0 to 10000: if an incorrect number is entered, an error message is displayed.

  3. Click on the None button if you want no limit to be enforced. Note that this can also be accomplished by setting the value to 0.

  4. Click on OK to return to the main screen.

Channel program nice increment

This value gives the delivery agent a priority in relation to other processes, using the system nice(1) mechanism. The Channel Program Nice Increment value corresponds to the sendmail N= equate of the channel's delivery agent definition in sendmail.cf. You may change the nice increment within the range of -20 to +20. Positive numbers reduce the system priority and negative numbers increase it. To change the increment:

  1. Double click on the value to produce the ``Modify Channel Program Nice Increment'' screen.

  2. Edit the number.

    By default, the value for all the mail channels is 0 and any number over the threshold results in an error message.

  3. Click on OK to return to the main screen.

Channel program runs as user

On firewalls, for reasons of additional security, it is often desirable to run sendmail as a user other than root. The user is the symbolic name of the identity.

To enable sendmail to run as a normal user:

  1. Double click on the value, to produce the ``Modify Channel Program Runs as User'' screen.

    All the mail channels use the default, although you can choose from the pull-down menu. You will be presented with a selection of the currently configured users on the system.

  2. Choose a user.

  3. Click on OK to return to the main screen.

Channel program runs as group

This specifies the group identity under which sendmail is run. To modify this, you must first have an entry in ``Modify Channel Program Runs as User''.

  1. Double click on the entry to produce the ``Modify Channel Program Runs as Group'' screen.

    All the mail channels use the default, although you can choose from the pull-down menu. You will be presented with a selection of the currently configured groups on the system.

  2. Choose a group.

  3. Click on OK to return to the main screen.

Rulesets

Rulesets are constructs in sendmail.cf which allow sendmail to process and re-write addresses. Rulesets may be specified to process recipient and sender addresses, for both the envelope and header, for each channel delivery agent. This processing is needed because different delivery agents may expect the address to have different forms. For example, a domain-based delivery program such as SMTP expects an address such as bob@mynet.com, while a UUCP-based delivery program needs a routing path such as mynet!bob.

The Mail Manager offers a selection of rulesets which have been pre-defined in sendmail.cf, as follows:

Ruleset Description
ap822_se, ap822_sh, ap822_re, ap822_rh SMTP (RFC 822 compliant) sender envelope (se), sender header (sh), recipient envelope (re), and recipient header (rh) address rewriting
ap976_se, ap976_sh, ap976_re, ap976_rh UUCP (RFC 976 compliant) sender envelope (se), sender header (sh), recipient envelope (re), and recipient header (rh) address rewriting
aplocal_se, aplocal_sh, aplocal_re, aplocal_rh local delivery sender envelope (se), sender header (sh), recipient envelope (re), and recipient header (rh) address rewriting

Recipient envelope ruleset

  1. Double click on the value and this produces the ``Modify Recipient Envelope Ruleset'' screen.

  2. You can chose the following from the pull-down list: SMTP, Badhost, Baduser and Multihome mail channels use ap822_re. Local mail channels use aplocal_re and UUCP mail channels use ap976_re.

    Select one if you wish to modify it.

  3. Click on OK to return to the main screen.

Recipient header ruleset

  1. Double click on the value and this produces the ``Modify Recipient Header Ruleset'' screen. The choices are very similar to those on the recipient envelope screen.

  2. You can chose the following from the pull-down list: SMTP, Badhost, Bad User and Multihome mail channels use ap822_rh. Local mail channels use aplocal_rh and UUCP mail channels use ap976_rh.

    Select one if you wish to modify it.

  3. Click on OK to return to the main screen.
The sender envelope header rulesets are very similar to the recipient envelope and header rulesets.
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 22 April 2004