Thanks Sahil for your precious answer,

> > I'm trying to use a policy service to limit use of my SMTP gateway
> > platform  'cause of heavy load that usually means hard delays to
> transmit
> > messages.
> >
> > The policy service is bound to 10031 TCP port.
> >
> > I have so set postfix the use policy service at the and of recipient
> > restriction and at the end of the end-of-data restriction:
> >
> > smtpd_recipient_restrictions =
> >     check_client_access proxy:mysql:/etc/postfix/mysql-check-client-
> access.cf
> >     permit_mynetworks
> >     permit_sasl_authenticated
> >     reject_unauth_destination
> >     reject_non_fqdn_sender
> >     reject_non_fqdn_recipient
> >     reject_unlisted_sender
> >     reject_unlisted_recipient
> >     reject_unknown_sender_domain
> >     reject_invalid_hostname
> >     reject_rbl_client zen.spamhaus.org
> >     reject_rbl_client list.dsbl.org
> >     check_policy_service inet:127.0.0.1:54000
> >     check_policy_service inet:127.0.0.1:10031
> >
> > smtpd_end_of_data_restrictions =
> >     check_policy_service inet:127.0.0.1:10031
> >
> > What happens is that if the message is from external message than
the
> > sender is tracked. On the other hand, the sender is not tracked.
> >
> > In the first case, the policy service logs says the state is RCPT
> when the
> > message is tracked. In the second case, instead, logfile says that
> the
> > state is 'END-OF-MESSAGES'. (Why these messages are not matched in
> the
> > RCPT stage? Way these messages are neverthless matched at the end of
> data
> > stage?).
> 
> Messages from internal senders (presumably defined as those in
> mynetworks or
> SASL authenticated clients) are OK'd early in
> smtpd_recipient_restrictions.
> At this point, smtpd(8) stops evaluating recipient restrictions, so
> your
> policy services are not queried in the RCPT TO stage of the SMTP
> conversation.  The smtpd_end_of_data_restrictions are evaluated later,
> at
> which point the policy service is queried.

So, first of all policy service (port 54000) and the second (port 10031)
have to be switched.. And then I have to move the policy services before
of check_client_access (which return OK if the IP client is enabled to
relay messages trhough my platform). But I fear that this is a little
bit dangerous.. Maybe I have to mome the check policy in an early stage?

> > Indeed I would like exactly the contrary (that is, the outgoing
> messages
> > have to be checked, while the others not), but I really can't figure
> out
> > where I'm wronging.
> 
> IMHO, setup a submission service on port 587 and force users to relay
> mail
> through it.  Then, you can call the policy service only for mail
> arriving via
> the submission service.

No, your ideas is not feasible. Anyway, why the messages from "my
network" (i.e.: from the IP which are enabled to relay messages trhough
my platform) are not passed to policy service when are checked against
"smtpd_end_of_data_restrictions"?

rocsca

Reply via email to