Sieve forwarding loop destroys e-mail

Gary Mills mills at
Mon Mar 31 08:38:45 EDT 2008

On Mon, Mar 31, 2008 at 02:04:29PM +0200, Alain Spineux wrote:
> On Mon, Mar 31, 2008 at 5:12 AM, Gary Mills <mills at> wrote:
> > On Sun, Mar 30, 2008 at 02:27:29PM +0100, Alain Spineux wrote:
> >  > On Mon, Mar 17, 2008 at 5:39 PM, Gary Mills <mills at> wrote:
> >  > > Once again, we had somebody use the sieve facility to redirect e-mail
> >  > >  back to the same mailbox and then go on vacation.  This sets up a
> >  > >  forwarding loop which cyrus breaks by discarding the e-mail.  During
> >  > >  this vacation, all of the person's e-mail disappeared.
> >  >
> >  > If you force a "keep" in your sieve script, the mail will be delivered
> >  > at least once in
> >  > the mailbox
> >
> >  It's perfectly valid to have nothing but a `forward' in a sieve
> >  script.  People do this all the time when they don't want to keep
> >  a copy for themselves.  Unfortunately, some also forward e-mail to
> >  themselves, expecting that to work.
> sieve script is only a language.
> The language nor its interpreter nor its compiler dont need to be smart, because
> the script writer is supposed to be smart enough.
> If the user in unable to write such script, it must use a "sieve
> script manager", (application
> written by a smarter developer) that will help him generating well
> suited script.

There's no general solution to this problem in the script language,
even with a generator like we use.  Again, that's because even the
generator can't tell what forwarding will cause a loop.  I could, for
example, forward e-mail to my address, from where it
would come back to me.  The generator could never know about my remote

In the simplest case, writing a sieve script to forward to yourself
causes the e-mail to disappear.  The script writer could be considered
`smart' in expecting this to work.  Calling the writer `stupid'
doesn't solve the problem.

-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-

More information about the Info-cyrus mailing list