On Mon, 2008-12-22 at 17:04 -0800, Gordon Messmer wrote:
> I believe it could be configured to 
> report success or failure to the sender in the event that at least one 
> recipient refused the message.  It's been a while since I used it, so I 
> don't remember clearly.  A courier filter could do the same thing, but 
> the implementation would be somewhat longer than the one I've included.

This is the logical issue that Sam addresses in Courier with the
enigmatic "412 You are not whitelisted ...." message and others like it.
The SMTP protocol wasn't designed to deal with message acceptance or
rejection based on per-recipient analysis of the DATA section of a
message.  

Say an email is address to users X, Y and Z on a system, and let's say
that user X has tighter content filtering criteria than user Y or Z.
The sending SMTP client sends 3 RCTP TO exchanges, and the server must
accept all 3, knowing only that all 3 are legitimate addresses on the
system.  The client has received the "250 Ok." responses and they're a
done deal.  Then comes the DATA segment and suppose the message passes
for users Y and Z but not for user X.  The receiving server has no way,
within the context of the SMTP protocol, to inform the sending client at
this point that 1 of the 3 recipients has rejected the message while it
was OK for the other 2.  It must, at this point, either reject the
message for all 3, or accept for all 3, and this is generally considered
unacceptable.

Sam deals with this by having Courier preemptively back out on the
receiving end if it finds that content analysis is enabled for the
exchange between the sender and one of the recipients and not for the
sender and another of the recipients.  In this case, Courier never makes
it to the DATA exchange and the SMTP session is aborted for all
recipients.  This isn't possible, however, when content analysis is
enabled for _all_ recipients, but the per-recipient verdict on
acceptance or rejection isn't rendered until after the DATA portion of
the message has been sent.  It's a basic logical flaw in the SMTP
protocol.  Originally, the DATA segment of an email was considered
sacred and SMTP clients and server weren't to touch it, except to add
their own headers as it passed through.  These days, what with spam,
viruses, Microsoft, etc., it's a lot more dicey.

-- 
Lindsay Haisley       | "Everything works    |    Accredited
FMP Computer Services |       if you let it" |      by the
512-259-1190          |    (The Roadie)      |   Austin Better
http://www.fmp.com    |                      |  Business Bureau


------------------------------------------------------------------------------
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to