Changes to the MAILER() Declaration
The MAILER() declaration specifies support for delivery
agents. To declare a delivery agent, use the following syntax.
Note the following changes.
In this new version of sendmail, the MAILER(`smtp') declaration now includes an additional mailer, dsmtp, which provides on-demand delivery by using the F=% mailer flag. The dsmtp mailer definition
uses the new DSMTP_MAILER_ARGS, which defaults
to IPC $h.
Numbers for rule sets that are used by MAILERs
have been removed. You now have no required order for listing your MAILERs except for MAILER(`uucp'), which must
follow MAILER(`smtp') if uucp-dom and uucp-uudom are used.
For more information about mailers, refer to Mailers.
If you need to build a new sendmail.cf file, refer to Building the sendmail.cf Configuration File (Task) in Chapter 22, Mail Services (Tasks).
New Delivery Agent Flags
The following table describes new delivery agent flags, which by default
are not set. These single-character flags are Boolean. You can set or unset
a flag by including or excluding it in the F= statement
of your configuration file, as shown in the following example.
Mlocal, P=/usr/lib/mail.local, F=lsDFMAw5:/|@qSXfmnz9, S=10/30, R=20/40,
Mprog, P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/,
Msmtp, P=[IPC], F=mDFMuX, S=11/31, R=21, E=\r\n, L=990,
Mesmtp, P=[IPC], F=mDFMuXa, S=11/31, R=21, E=\r\n, L=990,
Msmtp8, P=[IPC], F=mDFMuX8, S=11/31, R=21, E=\r\n, L=990,
Mrelay, P=[IPC], F=mDFMuXa8, S=11/31, R=61, E=\r\n, L=2040,
|
Table 24-16 New Mailer Flags
Flag | Description |
% | Mailers
that use this flag do not attempt delivery to the initial recipient of a message
or to queue runs unless the queued message is selected by using an ETRN request or one of the following queue options: -qI, -qR, or -qS. |
1 | This flag disables the ability of the mailer to send
null characters (for example, \0). |
2 | This flag disables the use of ESMTP and requires
that SMTP be used instead. |
6 | This flag enables mailers to strip headers to 7 bit. |
New Equates for Delivery Agents
The following table describes new equates that you can use with the M delivery agent definition command. The following syntax shows
you how to append new equates or new arguments to the equates that already
exist in the configuration file.
Magent_name, equate, equate, ...
|
The following example includes the new W= equate.
This equate specifies the maximum time to wait for the mailer to return after
all data has been sent.
Msmtp, P=[IPC], F=mDFMuX, S=11/31, R=21, E=\r\n, L=990, W=2m
|
When you modify the definition of a value for m4
configuration, use the syntax that is provided in the following example.
define(`SMTP_MAILER_MAXMSGS', `1000')
|
The preceding example places a limit of 1000 on the number of messages
that are delivered per connection on an smtp mailer.
If you need to build a new sendmail.cf file, refer
to Building the sendmail.cf Configuration File (Task) in Chapter 22, Mail Services (Tasks).
Note - Typically, you modify the equate definitions in the mailer directory only when you fine-tune.
Table 24-17 New Equates for Delivery Agents
Equate | Description |
/= | Argument:
Path to a directory Specifies a directory to apply chroot() to before the mailer program is executed |
m= | Argument: Any of the following m4 values that have previously been defined with the define() routine SMTP_MAILER_MAXMSGS, for the smtp mailer
LOCAL_MAILER_MAXMSGS, for the local mailer
RELAY_MAILER_MAXMSGS, for the relay mailer
Limits the number of messages that are delivered
per connection on an smtp, local, or relay mailer |
W= | Argument:
An increment of time Specifies the maximum time to wait for the
return of the mailer after all data has been sent |
New Queue Features
The following list provides details about new queue
features.
This release supports multiple queue directories. To use multiple
queues, supply a QueueDirectory option value
in the configuration file that ends with an asterisk (*), as is shown in the
following example.
O QueueDirectory=/var/spool/mqueue/q*
|
The option value, /var/spool/mqueue/q*, uses all
of the directories (or symbolic links to directories) that begin with "q" as queue directories. Do not change the queue directory
structure while sendmail is running. Queue runs create
a separate process for running each queue unless the verbose flag (-v) is used on a non-daemon queue run. The new items are randomly
assigned to a queue.
The new queue file-naming system uses file names that are
guaranteed to be unique for 60 years. This system allows queue IDs to be assigned
without complex file-system locking and simplifies the movement of queued
items between queues.
In version 8.12 of sendmail, only root can run the mail queue. For further details, refer to the
changes that are described in the mailq(1) man page. For new task information, refer
to Administering the Queue Directories (Task Map).
To accommodate envelope splitting, queue file names are now
15-characters long, rather than 14-characters long. File systems
with a 14-character name limit are no longer supported.
For task information, refer to Administering the Queue Directories (Task Map).
Changes for LDAP in sendmail
The following list describes changes in the use of the Lightweight Directory
Access Protocol (LDAP) with sendmail.
LDAPROUTE_EQUIVALENT() and LDAPROUTE_EQUIVALENT_FILE() permit you to specify equivalent host names, which are replaced
by the masquerade domain name for LDAP routing lookups. For more information,
refer to /usr/lib/mail/README.
As noted in the Release Notes that are part of the sendmail distribution at ftp://ftp.sendmail.org, the LDAPX map has been renamed to LDAP. Use
the following syntax for LDAP.
This release supports the return of multiple values for a
single LDAP lookup. Place the values to be returned in a comma-separated
string with the -v option, as is shown.
Kldap ldap -v"mail,more_mail"
|
If no LDAP attributes are specified in an LDAP map declaration,
all attributes that are found in the match are returned.
This version of sendmail prevents commas
in quoted key and value strings in the specifications of the LDAP alias file
from dividing a single entry into multiple entries.
This version of sendmail has a new option
for LDAP maps. The option, -Vseparator enables
you to specify a separator, so that a lookup can return both an attribute
and a value that are separated by the relevant separator.
Instead of using the %s token to parse
an LDAP filter specification, you can also use the new token, %0, to encode the key buffer. The %0 token applies
a literal meaning to LDAP special characters.
The following example shows how these tokens differ for a "*" lookup.
Table 24-18 Comparison of Tokens
LDAP Map Specification | Specification Equivalent | Result |
-k"uid=%s" | -k"uid=*" | Matches any record with a user
attribute |
-k"uid=%0" | -k"uid=\2A" | Matches a user with the name "*" |
The following table describes new LDAP map flags.
Table 24-19 New LDAP Map Flags
Flag | Description |
-1 | Requires a
single match to be returned. If more than one match is returned, the results
are the equivalent of no records being found. |
-r never|always|search|find | Sets the LDAP alias dereference option. |
-Z size | Limits the number of matches to return. |
|