[Mailman-users] Mailman refusing to send remote email

C. Bensend benny at bennyvision.com
Sat Dec 15 05:01:42 CET 2001


Hello folks,

	I retyped the subject above from memory, so apologies
if it doesn't match my original thread perfectly.

	I wanted to post this to the list, for the benefit of
the list archives, as well as a candidate for the FAQ-O-Matic.

My problem:  Mailman was not sending email to any remote
addresses, only to local users.

My solution:  QMail was not relaying from localhost.  I thought
it was, but I had omitted on important step.  I have written
up the following as an explaination of what to do if you're
struggling with Mailman and QMail, and running QMail from
DJB's tcpserver.

The following pertains to installations running QMail from
tcpserver.



If you're running QMail, and you're having problems with Mailman
sending remote email, perform the following test from your server:

user at host$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 hostname.mydomain.com ESMTP

(it will be waiting for input - type the following)
HELO mydomain.com
250 hostname.mydomain.com

(it will once again be waiting, follow with:)
MAIL FROM: <mailman at mydomain.com>
250 ok

(again, follow with:)
RCPT TO: <emailaddress at some-other-remote-domain.com>
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)

If you see the above 553 response, your QMail server will not
relay from localhost.  This causes big problems with Mailman.

If you do _not_ see a 553 response, your problem isn't that
QMail can't relay from localhost.


"OK, I got a 553 when I tried that, what do I do?"  Well, you
need to tell tcpserver that localhost is OK to relay from.  This
should work for you:

1) 'cd' into /etc, and create a file called /etc/tcp.smtp, with the
   following contents:

	# Allow localhost to relay
	127.:allow,RELAYCLIENT=""

2) Create the database for tcpserver to use:

	tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp

3) Configure tcpserver to consult that database whenever someone
   establishes an SMTP session to your server by editting whatever
   startup script you use on your system.  On my systems it is
   /etc/rc.local, it may be /etc/rc.d/init.d/tcpserver on yours.
   It's totally dependant on what OS you're running, and what
   style of startup scripts you're using.  Ultimately, you need
   to start tcpserver with the following additional option:

	-x/etc/tcp.smtp.cdb

4) Restart tcpserver, and try the above localhost test again.  It
   should reply with a "250 ok" message, instead of the
   "553 sorry, that domain isn't in my list of allowed rcpthosts"
   error you got before.



This solved my problems.  As I said before, I thought I had this
nailed down, but I had simply forgotten to regenerate the tcp.smtp
database.  Doh.

Many thanks to all the helpful folks that pointed me in the right
direction.  :)

Benny


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"The onions are irritating my buttocks."   - Sluggy Freelance
                                             10-12-1998






More information about the Mailman-Users mailing list