--On 20 January 2009 20:01:59 +0100 "Peter J. Holzer" <hjp-asrg(_at_)hjp(_dot_)at>
wrote:
There are, if we are only interested acception/rejection of the message.
You cannot include specific messages, of course (currently I just
concatenate all the rejection reasons into a single message).
The real problem is in the phrase "this particular message". At the time
the server receives the first "RCPT TO:" command it has no way to
know that this is a new delivery attempt for a message which was
temporarily rejected earlier, much less which message (envid is
per-transaction, and you couldn't rely on the client sending it anyway).
So, as a weak approximation, I use sender/recipient pairs instead of
message/recipient pairs as elements of the sets. This works quite well
because a recipient usually wants to receive all messages from a
specific sender or none. But yes, theoretically it can happen that the
sets are split again and again until each recipient is in a set of their
own. In practice I haven't seen it yet (after more than 3 years, but
admittedly on a relatively small number of email addresses).
hp
Oh, that's a pretty good solution. There are edge cases, and perhaps even
exploits, but it's probably going to work most of the time - provided the
client MTA ignores 4.2.5 of the RFC. It still delays messages for some
recipients, but only up to an hour or so. It might cause problems with
conversations on lists like this - but they could be mitigated by caching
the "sender/recipient/source IP" triplet.
The exploit, of course, is that spammers could open channels by sending
apparently innocent messages.
--
Ian Eiloart
IT Services, University of Sussex
x3148
_______________________________________________
Asrg mailing list
Asrg(_at_)irtf(_dot_)org
http://www.irtf.org/mailman/listinfo/asrg