On Wed, Nov 23, 2011, Viktor Dukhovni wrote:
> On Tue, Nov 22, 2011 at 08:30:49PM -0500, Wietse Venema wrote:

> > I just stubled across this thread:

> >     http://www.gossamer-threads.com/lists/exim/users/90005

> > We could take a bold step and do it in two "main stream" MTAs,
> > damn the torpedoes.

> Is it worth the effort? Will enough SMTP clients whose messages

I don't know -- I implemented it because I like the feature
and I was a bit involved in the discussion on the PRDR draft.

> one may be inclined to partly reject actually support this extension?

Well, the MTAs that support it will hopefully do it both as client
and as server.

> If not, what do we gain by only being able to apply per-recipient
> content-dependent policy to a small fraction of the traffic from
> largely legitimate MTAs?

The current way some filters implement per RCPT filtering is done
by applying the filter to the first RCPT and every RCPT that doesn't
have the same filtering configured will be temp-failed, hence there
is extra load (queueing, retrying) on the client to send those RCPTs
again. This could be considered an incentive to implement the feature
on the client side.

> When would Postfix reply negatively for recipient "A" and positively
> for recipient "B" after DOT? How would this be exposed to existing

Per RCPT filtering is a feature that is often asked by ISPs who
offer anti-spam/virus for their customers: some pay for additional
filtering.

> proxy filters and milters?

I've extended the (p)milter API (quote from the MeTA1 doc):
------------------------------------------------------------
To set reply codes for commands that need multiple reply values the  
function:

sm_ret_T
sm_pmfi_setreplies(pmse_ctx_P pmse_ctx, uint nreplies, int *rcodes, const char 
**rtexts)

must be used. Currently this function makes only sense if PRDR is
available in the SMTP server and actually used by the client. A pmilter
can determine the latter by parsing the arguments of the MAIL command (see
pmfi_mail()). Note: currently the argument rtexts is ignored, only the
array of reply codes (rcodes) is used. The size of this array must be
nreplies which must match the number of valid RCPTs for this transaction.
The reply codes in that array must be in the same order in which the RCPTs
have been received.
------------------------------------------------------------

Something similar could be added to milter.

Reply via email to