fetchmail vs sendmail vs /etc/hosts

D. Hugh Redelmeier hugh at mimosa.com
Sat Jan 13 04:28:42 UTC 2007


Context: I installed FC6 on my daughter's notebook during the
Christmas break.  Some time later, fetchmail stopped working.

It turned out that fetchmail tries to inject local mail by using SMTP
with localhost port 25 (reasonable).

Sendmail IS listening to 127.0.0.1 port 25.

/etc/hosts says localhost is ::1.  This is the IPv6 version of
localhost.

So fetchmail is trying to contact ::1 port 25 but nobody is listening.

Which part of this is wrong?  How come fetchmail worked for a while
after FC6 was installed?

I fixed the fetchmail problem by changing the definition of localhost
from ::1 to 127.0.0.1.

In /etc/mail/submit.mc, the config file for the sendmail submission
daemon, there is a pair of lines:
  dnl If you use IPv6 only, change [127.0.0.1] to [IPv6:::1]
  FEATURE(`msp', `[127.0.0.1]')dnl
That looks as if you must chose between IPv4 and IPv6.  That seems
dumb.

On my FC6 system (which does not handle mail), there are two lines
defining localhost -- one with ::1 and the other with 127.0.0.1.
On my daughter's system (now) only the ::1 line appears.  Why?  Maybe
because she used the network gui to disable eth1 (for some reason her
notebook started leaching connectivity from neighbour's WiFi instead
of using her perfectly good wired connection).

This seems like a bug, but I don't know which component is wrong:
sendmail (for not listening to ::1).
whatever whacked /etc/hosts (for losing 127.0.0.1 as localhost).
I think that fetchmail is blameless.  Except that the error message
wasn't too clear.




More information about the users mailing list