Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
27.  What's New With Mail Services (Reference) Changes to sendmail Changes to the MAILER() Declaration  Previous   Contents   Next 
   
 

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 27-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, which 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 25, Mail Services (Tasks).


Note - Typically, you modify the equate definitions in the mailer directory only when you fine-tune.


Table 27-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.

    Kldap ldap options
  • 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 breaking up 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 on "*."

    Table 27-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 27-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.

New Built-in Mailer Feature

The old [TCP] built-in mailer is not available. Use the P=[IPC] built-in mailer instead. The interprocess communications ([IPC]) built-in mailer now enables delivery to a UNIX domain socket on systems that support it. You can use this mailer with LMTP delivery agents that listen on a named socket. An example mailer might resemble the following.

Mexecmail, P=[IPC], F=lsDFMmnqSXzA5@/:|, E=\r\n, 
S=10, R=20/40, T=DNS/RFC822/X-Unix, A=FILE /var/run/lmtpd

The first mailer argument in the [IPC] mailer is now checked for a legitimate value. The following table provides possible values for the first mailer argument.

Table 27-20 Possible Values for the First Mailer Argument

Value

Description

A=FILE

Use for UNIX domain socket delivery

A=TCP

Use for TCP/IP connections

A=IPC

Is no longer available as a first mailer argument

New Rule Sets

The following table lists the new rule sets and describes what they do.

Table 27-21 New Rule Sets

Set

Description

check_eoh

Correlates information that is gathered between headers and checks for missing headers. This rule set is used with the macro storage map and is called after all of the headers have been collected.

check_etrn

Uses the ETRN command (as check_rcpt uses RCPT).

check_expn

Uses the EXPN command (as check_rcpt uses RCPT).

check_vrfy

Uses the VRFY command (as check_rcpt uses RCPT).

The following list describes new rule set features.

  • Numbered rule sets are also named, but they can still be accessed by their numbers.

  • The H header configuration file command allows for a default rule set to be specified for header checks. This rule set is called only if the individual header has not been assigned its own rule set.

  • Comments in rule sets (that is, text within parentheses) are not removed if the configuration file version is nine or greater. For example, the following rule matches the input token (1), but does not match the input token.

    R$+ (1)		$@ 1
  • sendmail accepts the SMTP RSET command even when it rejects commands because of TCP wrappers or the check_relay rule set.

  • You receive a warning if you set the OperatorChars option multiple times. Also, do not set OperatorChars after the rule sets are defined.

  • The name of the rule set, as well as its lines, are ignored if an invalid rule set is declared. The rule set lines are not added to S0.

 
 
 
  Previous   Contents   Next