Previous Section Next Section

SmtpGreetingMessage

The SMTP greeting message All versions

When sendmail accepts an incoming SMTP connection it sends a greeting message to the other host. This message identifies the local machine and is the first thing it sends to say it is ready.

Prior to V8.7 sendmail, this message was declared with the $e macro. Beginning with V8.7 sendmail, it is declared with the SmtpGreetingMessage option. In both cases the message must begin with the fully qualified name of the local host. Usually, that name is stored in $j. The minimal definition for both is:

O SmtpGreetingMessage=$j    beginning with V8.7
De$j                    V8.6 and earlier

Additional information can follow the local hostname. Any additional information must be separated from the hostname by at least one space:

De$j additional information
     
    at least one space

Traditionally, that additional information is the name of the listening program (in our case, always sendmail), the version of that program, and a statement that the program is ready. For example:

O SmtpGreetingMessage=$j Sendmail $v ready at $b   beginning with V8.7
De$j Sendmail $v ready at $b                   V8.6 and earlier

Note that it is not uncommon to see imaginative (and legal) variations in the additional information:

De$j Sun's sendmail.mx is set to go (at $b), let 'er rip!

Under versions V8.6 and earlier there was no default for this greeting message. You had to define $e in every configuration file. Beginning with V8.7, sendmail checks to see whether the SmtpGreetingMessage option was defined and uses that value if it was. Otherwise, it checks to see whether the level of the configuration file is 6 or less. If it is, and if the $e macro was defined, it uses that value. Otherwise, it uses the following default:

$j Sendmail $v ready at $b

The forms for the $e and SmtpGreetingMessage are as follows:

O SmtpGreetingMessage=message           configuration file (V8.7 and later) 
-OSmtpGreetingMessage=message           command line (V8.7 and later) 
define(`confSMTP_LOGIN_MSG',`message')  mc configuration (V8.7 and later) 
Demessage                               configuration file (V8.6 and earlier) 

The message is of type string and must be present. It must contain, at minimum, the fully qualified name of the local host.

Note that in V8.1 through V8.6, sendmail always added the extra line:

ESMTP spoken here

to its initial greeting message. Beginning with V8.7, sendmail instead inserts the word "ESMTP" into the greeting message itself just after the fully qualified hostname.

The SmtpGreetingMessage option is not safe. If specified from the command line, it can cause sendmail to relinquish its special privileges.

    Previous Section Next Section