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