17.5 The V Configuration Command

The V configuration command was added to V8 sendmail to prevent old versions of configuration files from breaking when used with V8 sendmail. The syntax for the V configuration command looks like this:

Vlevel               V8.1 through V8.5
Vlevel/vendor        V8.6 and above 

We describe the level and vendor parts in the next two sections.

17.5.1 The V Configuration Command's Level Part

The level is a positive integer. If level is higher than the maximum allowed for the current version, sendmail prints the following warning and accepts the value:

Warning: .cf version level (lev) exceeds program functionality (max) 

If level is less than 0 or if the V configuration command is omitted, the default level is 0.

The effects of the various version levels are relatively minor. As sendmail continues to develop, they might become more pronounced. Currently, the version levels are as follows:


The check for a valid shell in /etc/shells is ignored (Section 10.8.3).

0 through 1

MX records are looked up with the RES_DEFNAMES and RES_DNSRCH cleared. The high bit is always stripped from the body of every mail message.

2 and above

The sendmail program automatically adds a -a. to the "host host" database map (Section 23.4.3) declaration, if that database map isn't declared in the configuration file. RES_DEFNAMES and RES_DNSRCH are not turned off as they were for older versions. Rule set 5 (Section 19.6) behavior is enabled.

0 through 2

Sets the UseErrorsTo option (UseErrorsTo) to true automatically.

2 and above

Automatically sets the $w sendmail macro ($w) to be the short name instead of the fully qualified local hostname ($j, $j, still contains the fully qualified name and $m, $m, the local domain).

3 and above

You can use the V8 form of comments.

0 through 5

For V8.7 and above sendmail, level 5 or lower causes the F=5Aw:|/@ flags (Section 20.8) to automatically be set for the local delivery agent (See this section) and the F=o flag (F=o) to automatically be set for the prog (See this section) and *file* (*file* and *include*) delivery agents.

0 through 5

Looking up MX records with HasWildcardMX listed with the ResolverOptions option (ResolverOptions) causes RES_QUERY to be used in place of RES_SEARCH. Defaults the ColonOkInAddr option (ColonOkInAddr) to false.

0 through 6

Sets the SmtpGreetingMessage option (SmtpGreetingMessage) with the value of $e (SmtpGreetingMessage) if $e has a value. Sets the OperatorChars option (OperatorChars) with the value of $o (OperatorChars) if $o has a value.


The version shipped with V8.8 sendmail. Added that a version 6 or less causes the F=q flag (F=q) for the local (See this section), prog (See this section), and *file* (*file* and *include*) delivery agents to be automatically set.


The version shipped with V8.9 sendmail. Added the first antispam rule sets to the configuration file.


Beginning with V8.10 sendmail, a version of 9 or higher causes the parenthetical comment in rules to be retained (Section 18.2.2).


The version shipped with V8.12 sendmail. Added the authinfo feature (FEATURE(authinfo)). Added -T<TMPF> for access database (Section 7.5.1) temporary lookup errors, and delivery agents no longer need numbered rule sets (R= and S=).

17.5.2 The V Configuration Command's Vendor Part

Beginning with V8.6 sendmail, the level for the version command can be followed by the identity of the vendor. The form of that declaration looks like this:

Vlevel/vendor        V8.6 and above 

The / must immediately follow the level with no intervening space. There can be arbitrary space between the / and the vendor. The string that is the vendor specification can be either of the following:


This is the commercial version of sendmail sold by Sendmail, Inc.


This is a configuration file based on the BSD distribution and is the one you get when you build and install from the source. As of V8.8, this declaration does nothing. If you use this configuration file with another vendor's version of sendmail, the Berkeley tells the other version that you are using a configuration file based on the open source.


This is a configuration file intended for use with Sun's release of sendmail. If it is declared and if you are running Sun's sendmail, Sun-specific enhancements become available to you. If you are not running Sun's sendmail, an error is printed.

HP, IBM, DEC, etc.

Beginning with V8.12, other vendors, such as IBM, now add their own vendor designation to the V configuration command.

If any unrecognized string appears in the vendor part, sendmail will print the following error and ignore that vendor declaration:

invalid V line vendor code: bad vendor name here

Note that vendors other than those shown might have customized their sendmail too, so this might not be a complete list.[2]

[2] Vendors that enhance their sendmail are strongly encouraged to use a new vendor code.

    Part I: Build and Install
    Part II: Administration
    Part III: The Configuration File
    Chapter 21. The D (Define a Macro) Configuration Command
    Chapter 24. The O (Options) Configuration Command