LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (https://www.linuxquestions.org/questions/linux-server-73/)
-   -   postgrey stopping all incoming mail (https://www.linuxquestions.org/questions/linux-server-73/postgrey-stopping-all-incoming-mail-621910/)

jonespg 02-18-2008 12:34 AM

postgrey stopping all incoming mail
 
I have been using postfix/postgrey on a home server successfully for a few weeks until recently an unknown change caused the greylisting to block all mail (white, black and gray). When I disable greylisting by commenting out:
# check_policy_service inet:127.0.0.1:60000
Then everything comes through.

I have scanned /etc/postfix/main.cf /etc/postfix-policyd.conf and /etc/greylistd/config to check the delays; all at 2 minutes.

I'm not sure if either of these mean anything, but when I read the boot-up messages it says postgrey:
"no connection to syslog available"
The other message I get is when start/stopping greylistd
$ sudo greylistd stop
Could not bind/listen to socket /var/run/greylistd/socket: (98, 'Address already in use')


Is there anything obvious anyone can think of? thanks, PJ

dkm999 02-18-2008 10:48 PM

From your description, it seems that Postfix is the one that is blocking your incoming e-mail; the line specifying the 'check_policy_service' does indeed cause this behavior. If you tell Postfix to check if a policy server will allow the message, and that server doesn't respond, Postfix will not allow the message through.

It seems that you need to have a harder look at the way the postgrey stuff is set up, because it does not appear that a live postgrey process is listening where Postfix expects it to be listening. I commend you to the manpage for netstat, a utility that will list for you the active sockets of a particular type, along with the program that is responsible for the connection (if you ask nicely).

Your post indicates that your setup is using a loopback TCP connection as the conduit between Postfix and postgrey (inet:127.0.0.1:60000). This indicates that Postfix will send a query on that TCP port, and expect a reply there. But your log report indicates that postgrey is trying to bind to a (unix) socket, not a TCP socket, so it is unlikely that these two processes will be able to exchange messages successfully.

I am not sure what caused this change, but it needs to be corrected: either you need to convince postgrey to listen on 127.0.0.1:60000, or you need to tell Postfix to talk on the unix socket /var/run/greylistd/socket. I will leave as an exercise for you to work out which you like better, and how to alter the relevant configuration file to make this so.

jonespg 02-19-2008 12:35 AM

Thanks for the insightful reply. I will update all when I have it fixed. PJ

45 minutes later

fixed! The change I made was in /etc/postfix-policyd.conf I changed the following line:
BINDPORT=10031 to
BINDPORT=60000
which matched the specification in /etc/postfix/main.cf
and then uncommented the previously noted line.

A real testament to the strength of peer supported HOWTOs and user groups when an amateur like me can get this running. thanks, PJ


All times are GMT -5. The time now is 09:44 AM.