$j
Our official canonical name All versions
The $j
macro is
used to hold the fully qualified domain name of the
local machine. V8 sendmail
automatically defines $j
to be the fully qualified canonical
name of the local host.[319] However, you can still redefine $j
if necessary—for
example, if sendmail cannot
figure out your fully qualified canonical name, or
if your machine has multiple network interfaces and
sendmail chooses the name
associated with the wrong interface.
A fully qualified domain name is one that begins with the local hostname, which is followed by a dot and all the components of the local domain.
The hostname part is the name of the local machine. That name is defined at boot time in ways that vary with the version of Unix you are using.
The local domain refers to the DNS domain, not to the NIS domain. If DNS is running, the domain is defined in the /etc/resolv.conf file. For example:
domain wash.dc.gov
At many sites, the local hostname is already fully
qualified. To tell whether your site uses just the
local hostname, run sendmail
with a -d0.4
switch:
% /usr/sbin/sendmail -d0.4 -bt < /dev/null
canonical name: wash ← not fully qualified (and wrong!)
canonical name: wash.dc.gov ← fully qualified (correct)
The $j
macro is
used in two ways by sendmail.
Because $j
holds
the fully qualified domain name,
sendmail uses that name to avoid making SMTP connections to itself. It also uses that name in all phases of SMTP conversations that require the local machine’s identity. One indication ...
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.