The S= delivery agent equate specifies a rule set to be used for processing both envelope- and header-sender addresses. The sender's address is given in the envelope and generally repeated in the mail message's From : header line. [19] The envelope sender address is given to sendmail in one of four ways: as a -f command-line argument; as an SMTP MAIL FROM: command; as a From : header; or it can be derived from the identity of the user who ran the program. (Note that the latter two are used only during initial message submission.) Figure 20-2 shows how the S= rule set fits into the flow of addresses through rule sets.
Figure 20-2. The flow of addresses through rule setsThere are two forms for the S= delivery agent equate. One is the standard form, and the other is an enhanced alternative beginning with V8 sendmail : S= ruleset legal for all S= eset/hset legal beginning with V8 The first case specifies a rule set ( ruleset ) that will process both recipient and header addresses. If ruleset is zero or if the entire S= delivery agent equate is missing, no rule set is called. In the second case, one rule set is specific to the envelope, and the other is specific to headers. The envelope-specific rule is the one to the left of the slash; the header-specific rule is the one to the right ( S= eset/hset ). If both values are missing, no sender S= processing is done. If only one is missing, the missing value defaults to become the other value. (See Chapter 19 for a description of possible errors and how the new V8.7 symbolic rule set names can be used.) Either rule set can be specified using names or numbers or both: S=Myset name S=12 number S=Myset=12 both See Section 19.1 for a discussion of the various legal ways rule sets can be specified. Macros cannot be used in delivery agent rule set specifications. That is: S=$X illegal will not give the expected result. Instead, sendmail will complain about a missing rule set specification. When using V8 sendmail 's mc configuration, you cannot change or specify S= rule sets. If the need arises, however, you can copy an existing delivery agent definition, then modify it as outlined in Section 20.3.2. |