Subject: Re: mostly open issues

From: "Tomas Fasth" <[email-masked]>
Date: Thu, 12 Nov 1998 15:39:58 +0100

-----Original Message-----
From: Alan K. Stebbens <[email-masked]>
To: Randall Gellens <[email-masked]>; Tim Showalter
<[email-masked]>; [email-masked] <[email-masked]>
Date: den 12 november 1998 12:05
Subject: RE: mostly open issues

>What is the issue with a "resend" action?  I do not think these definitions
>will confuse users:
>
> Resend -- insert "Resent-" headers and then forward.
> Forward -- forward the message (without modification).
>
>Given these definitions, users have a clear choice of behaviour.

I tend to agree with you, Alan.
There is another twist on this. I venture to say that a Sieve implementation
MAY choose to forward a message using MIME encapsulation. In such a case
resent headers MUST NOT be inserted. This should be enough for seriously
considering Alan's suggestion.

Tomas

---

From: "Barry Leiba" <[email-masked]>
Date: Thu, 12 Nov 1998 13:28:25 -0500

> considering Alan's suggestion.

I venture to say that it must not.  Have you missed the following 
paragraph from the -04 Sieve spec?:

   The forward command performs an MTA-style forward--that is, what  you
   get  from  a .forward file using sendmail under UNIX.  The address on
   the SMTP envelope is replaced with the one on the forward command and
   the  message  is  sent  back out.  (This is not an MUA-style forward,
   which creates a new message with a different sender and  message  ID,
   wrapping the old message in a new one.)

Barry Leiba, Multimedia Messaging  ([email-masked])
http://www.research.ibm.com/people/l/leiba

---

From: "Alan K. Stebbens" <[email-masked]>
Date: Thu, 12 Nov 1998 10:56:29 -0800

| > There is another twist on this. I venture to say that a Sieve
| implementation
| > MAY choose to forward a message using MIME encapsulation. In such a case
| > resent headers MUST NOT be inserted. This should be enough for seriously
| > considering Alan's suggestion.
|
| I venture to say that it must not.  Have you missed the following
| paragraph from the -04 Sieve spec?:
|
|    The forward command performs an MTA-style forward--that is, what  you
|    get  from  a .forward file using sendmail under UNIX.  The address on
|    the SMTP envelope is replaced with the one on the forward command and
|    the  message  is  sent  back out.  (This is not an MUA-style forward,
|    which creates a new message with a different sender and  message  ID,
|    wrapping the old message in a new one.)

I've lost some antecedents in this discussion.  What part of "Alan's
suggestion" are you disagreeing with, Barry?  That there is a need for
"resend" itself, or with Tomas' suggestion that "forward" possibly do a
MIME-wrapped resend?

If you are satisfied with the current function of "forward" (ie: simple
resubmission of the message, without modification, to a different address
list), then I'm inclined to agree.

I would propose not to modify the current behavior of "forward", and,
instead, add new functionality to a new action, called "resend".  This will
preserve existing Sieve rulesets while still providing new function.

About the MIME wrapping, I think it makes sense.  Some end-users will want
simple forwarding, which they can already do, while some end-users will
prefer to MIME-wrap and send a new message.  Perhaps, the suggested "resend"
command can be modified with an argument:

	resend :mime <address>

Without the :mime argument, "resend" does a "forward", with the addition of
"Resent-" header insertion.  With the ":mime" argument, a new message is
created, containing the original within a MIME encapsulation.

While we're quoting the -04 spec, let's also look at the abstract:

   This document describes a mail filtering language for filtering
   messages at time of final delivery.  It is designed to be independent
   of protocol, and implementable on either a mail client or mail
   server.  It is meant to be extensible, simple, and independent of
   access protocol, mail architecture, and operating system.  It is
   suitable for running on a mail server where users may not be allowed
   to execute arbitrary programs, such as on black box IMAP servers, as
   it has no variables, loops, or ability to shell out to external
programs.

Given this, I would suggest that if the Sieve engine is to be useful for
both "client" and "server" usages, then it should perform functions that are
needed in both contexts.  MIME encapsulation has become an important feature
for both servers and clients.

Also, I would suggest that the text "no variables" be changed to read "no
external variables".  Clearly, `headers["To"]' is a kind of variable.

--
Alan K. Stebbens <[email-masked]>

---

From: "Barry Leiba" <[email-masked]>
Date: Thu, 12 Nov 1998 15:30:11 -0500

> "resend" itself, or with Tomas' suggestion that "forward" possibly do a

Alan, compare the "I venture to say" phrases, which was the clue to
what I was talking about.  To spell it out, my post was only taking 
issue with Tomas's statement that one could implement "forward" in
the manner he suggested.  I said nothing more, and I meant nothing 
more.  (In fact, I don't care much what the decision about the "resent"
tags is, so I didn't comment on it.)