I'm having a problem with qmail + vpopmail that I am at my wit's end with,
on a mailserver running Slackware.
This mailserver is also our webserver. We use Apache; the primary domain is
my dad's and my domain is a virtual host. There aren't any issues with DNS,
or with A records... our web sites work fine, and mail from senders outside
our network has been getting delivered normally to both dad's domain and
mine. Outgoing mail from inside our network also worked fine with any
recipient. Dad was running sendmail and had no issues with it.
Since sendmail is so much less secure than qmail, and since I wanted to be
able to send e-mail from my laptop using a dynamic IP address while away
from home (without turning dad's server into an open relay), I disabled
sendmail, then installed qmail and configured it. So far so good. Incoming
and outgoing mail for both domains worked as before: We could send
and receive anything to/from anyone as long as we did it from inside our
Then I compiled vpopmail with --enable-roaming-users. I am still able to
send and receive from my laptop as long as I am inside the network, but when
I turn my wi-fi off and fire up my aircard to try the same thing from
outside the network, I can only receive. Attempts to send e-mail when I am
connected from outside the local network cause my e-mail client (Sylpheed)
to deliver an error saying "553 sorry, that domain isn't in my list of
OK, true enough, but the recipient of the e-mail I am trying to send
shouldn't NEED to be in rcpthosts if I am authenticated and being allowed to
I do seem to be authenticating with no problems, both when receiving mail
and when trying to send it... but it looks like /home/vpopmail/etc/tcp.smtp
is not being updated in order to allow my authenticated username to relay
mail. I also discovered that no cronjob had been created to run
/home/vpopmail/bin/clearopensmtp so I went ahead and ran crontab -e to add
the appropriate job.
The first thing I thought of was that tcpserver must be using /etc/tcp.smtp,
while vpwchk is writing my dynamic IP address
to /home/vpopmail/etc/tcp.smtp... but authenticating (and getting the error)
and then checking both /etc/tcp.smtp and /home/vpopmail/etc/tcp.smtp shows
that neither of them has been changed. Shouldn't my dynamic IP address be
written to the tcp.smtp file at this point, to be cleared out later when the
cronjob runs clearopensmtp? It isn't, and naturally qmail is treating me
like the rest of the peasants as a result.
I've been diddling around with various things, making one change at a time
and then testing. At one point, I tried chmodding both and /etc/tcp.smtp
and /etc itself to 664 and chowning them both to root:vchkpw (temporarily;
I've already undone this) with no results. With that change in place, I
also edited /home/vpopmail/include/vpopmail_config.h and changed '#define
TCP_FILE' to define it as /etc/tcp.smtp instead of
/home/vpopmail/etc/tcp.smtp (I've undone that change as well).
When I cat /var/log/qmail/smtpd/current I can see the many entries where I
connected from my laptop while outside the local network, but there's
nothing there that looks like an error or problem. When I tail -f
/var/log/maillog and watch it while I attempt to send from my laptop,
nothing new is appended to the maillog.
If I enable SMTP-AUTH in my e-mail client on my laptop and then try to send,
I can't authenticate, and /var/log/maillog DOES get updated with the error
"vchkpw-smtp: system user shadow entry not found [my username]:[my laptop's
dynamic IP address]" And yet, if I cat /etc/shadow, I can see the entry for
WTF? Anyone? Bueller?
Please keep in mind that I'm very new to both qmail and vpopmail. Also, my
skillz as a server administrator are mighty spotty at best, so I might need
the baby-talk version of any advice you might have to offer. ADVthanksANCE!