Sieve forwarding loop destroys e-mail
Ken Murchison
murch at andrew.cmu.edu
Mon Mar 31 11:52:10 EDT 2008
Gary Mills 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.
>
> Shouldn't we have a better solution to this problem? Some people
> expect that forwarding e-mail to yourself should work; nobody expects
> the messages to vanish without a trace.
I'm all for trying fix this if someone can come up with some logic to do
so. IMO, the code is correctly processing the script as written. Here
is the current code logic:
- original message is sent to lmtpd
- message is forwarded and a record is put in deliver.db stating as much
- forwarded message comes back to lmtpd
- lmtpd executes the script which tells it to forward to another address
- lmtpd sees that it has already forwarded the message, so doesn't
forward it again
At what point should we decide to deliver the message? The user hasn't
asked us to do that, even though they think that they have. How can
lmtpd be intelligent enough to know that the forwarded address will
cause the message to come back?
--
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University
More information about the Info-cyrus
mailing list