duplicate suppression, sieve, loops, redirect and lost email

Ken Murchison ken at oceana.com
Thu Aug 29 10:53:19 EDT 2002



Ragnar Sundblad wrote:
> 
> --On den 28 augusti 2002 19:12 -0400 Ken Murchison <ken at oceana.com> wrote:
> 
> > Quoting Ragnar Sundblad <ragge at nada.kth.se>:
> >
> > The message in question does not get lost.  It has already been
> > delivered to the recipient once.
> 
> I'd rather say that it has been delivered to the recipients
> broken sieve script once. :-)
> 
> > I _am_ curious what a sane reason for redirecting an email
> > to one's self is.
> 
> None at all, I certainly agree. But it can happen because
> a user does it anyway by mistake or because of confusion,
> and that shouldn't mean mail gets lost.

I'm not about to rewrite code because of user ignorance.  If the user
doesn't understand how Sieve works, then they shouldn't be writing their
own scripts by hand.  In no way does a redirecting a message to myself
make any sense, nor does it imply that it would even actually get
delivered.

The one thing that would make sense is to not allow a redirect to the
envelope recipient, but this assumes that the redirect address and the
envelope recipient address are the same.  This gets us into the whole
vacation problem of determining a user's email address.

> >> What I would rather assume would happen is that the email
> >> would loop until sendmail (or whatever mta you are using)
> >> returns it due to exceeded hop count. Is this not so?
> >
> > It shouldn't get to this point.
> 
> Without duplicate suppression, that is, maybe I should have
> added that. Do you still mean that it shouldn't get to that
> point?
> I can follow the email two rounds through sendmail until,
> I believe, the duplicate suppression removes it.

The redirect code will not redirect the same message to the same
recipient more than once (with or without duplicate suppression on).


> I like to use the duplicate suppression feature, but there
> is a small risk that the user, by mistake, does an implicit
> discard when he means redirect.
> 
> There is also another problem with the current duplicate
> suppression approach:
> Say someone posts an email to two different lists which
> I have both subscribed to, and the lists servers doesn't
> change the msgid but only adds some header. With the current
> duplicate suppression only one of them will get delivered
> to me. If I have a sieve script that sort each list in a
> separate mailbox, based on Sender: for example, only one
> of them will be put into its mailbox, the other will just
> be missing.
> 
> I think that a duplicate suppression feature based on
> destination mailbox would be a safe way to solve the same
> problem as the current does, and still cause no problem
> with those two cases.
> With that I mean that at the stage when a mail is about
> to be added to a mailbox a check would be made if it
> already is in there, and only if so it would be
> suppressed.
> 
> What do you think?

I think it already does this.  The duplicate_check() code uses both the
msg-id and the destination mailbox as the key into the database.

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp




More information about the Info-cyrus mailing list