To modify the mail channel values, use the following steps:
A list of values appears.
This produces the ``Modify'' screen for the value that you selected.
For each type of mail channel there are the following values to configure:
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
Double clicking on this value produces a pull-down menu, with the following four choices:
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.
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:
``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.
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.
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.
Double clicking on this value produces a pull-down menu with the following values:
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.
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.
To add to the channel table file, follow these steps:
The ``Channel Table File'' screen has fields entitled ``Host'' and ``Forward Via''.
This produces the ``Add Channel Table Entry'' screen.
Note that there must be an entry in both the ``Host Name'' field and the ``Forward Host Name'' field.
To modify the channel table file, follow these steps:
The ``Channel Table File'' screen has fields entitled ``Host'' and ``Forward Via''.
This is similar to the ``Add Channel Table Entry'' screen. See ``Adding to the channel table''.
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.
To exit the ``Channel Table File'':
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.
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:
To change any flags or to display their meaning:
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.
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).
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.
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.
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).
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:
By default, the value for all the mail channels is 0 and any number over the threshold results in an error message.
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:
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.
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''.
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.
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 |
Select one if you wish to modify it.
Select one if you wish to modify it.