${client_flags}

The nature of the connection V8.10 and later

The ${client_flags} macro holds the flags specified by the ClientPortOptions option’s Modify parameter (DaemonPortOptions=Modify= on page 996). This ${client_flags} macro is given a value only after a connection is made, because the Modify flags can vary by the family of the connection. If no Modify flags were specified, ${client_flags} is given an empty string as its value.

The value letters from the ClientPortOptions=Modify option are stored into this macro after the connection is made. Each letter is separated from the others by a space, and capital letters are doubled. That is, for example, if that option was declared like this:

ClientPortOptions=Modify=bcE

the value of the ${client_flags} macro would become:

b c EE

Capital letters are doubled so that they can be detected in rules. Recall that rules view their workspace in a case-insensitive manner (that is, e is the same as E). Doubling allows the LHS of rules to be designed like this:

R $* e $*      ← match a lowercase e
R $* ee $*     ← match an uppercase E

${client_flags} is not used in the default configuration file, but is available for you to use in rules of your own design. Note that a $& prefix is necessary when you reference this macro in rules (that is, use $&{client_flags}, not ${client_flags}).

${client_flags} is transient. If it is defined in the configuration file or in the command line, that definition can be ignored by sendmail.

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.