There is a host name resolution conflict in either nmh or
ypbind or sendmail or how the /etc/nsswitch file is set up
on (at least) standard Red Hat 5.2 and probably other
versions. It's your choice which is really the culprit :).
The problem manifests itself when attempting to resolve the
machine name of the local machine when sending mail through
exmh. If the following line is present in the /etc/hosts
file, then sendmail bombs with the classic "we do not relay"
127.0.0.1 localhost.localdomain localhost
This is different than the Red Hat standard where the
nickname and fully qualified name are switched.
The reason is, nmh resolves to the first name, but of
course, sendmail says, I don't know that machine name (I
only know localhost), and bombs.
So, why do I have it in this order? Because ypbind needs it
this way (at least generically). ypbind requires the fully
qualified name in order to authorize remote hosts to
In any case, that's the problem. Good luck.
Have you tried adding localhost.localdomain to /etc/sendmail.cw?
That should stop sendmail from squawking.
I'm also not sure why you think that the line in /etc/hosts must
have localhost.localdomain first in order for ypbind to work. This
appears to be a configuration issue, not a Red Hat distribution
It's not necessarily that the ypserver wants to see
localhost.localdomain (sorry 'bout the confusion), but rather the
fully qualified machine name(e.g., sapphire.fnal.gov) instead of the
nickname (e.g., sapphire). Our Sun and IRIX yp servers get awful
confused when they see the nickname first instead of the fully
qualified machine names when trying to do the reverse name lookup to
authorize remote logins. So, to keep things consistent, I also put
the localhost.localdomain entry first in /etc/hosts.
I'll try the sendmail fix as well; maybe this should also be added to
the default Red Hat sendmail.cw in the future?