On Mon, Jan 29, 2007 at 09:26:48PM +0100, Vincent Bernat
wrote:> Hello !
>
> I have started to use Sieve support in LDA. From the RFC a same
> message should not be delivered twice in the same folder :
>
> ,----
> | 2.10.3. Message Uniqueness in a Mailbox
> |
> |
> | Implementations SHOULD NOT deliver a message to the same folder more
> | than once, even if a script explicitly asks for a message to be
> | written to a mailbox twice.
> |
> | The test for equality of two messages is implementation-defined.
> |
> | If a script asks for a message to be written to a mailbox twice, it
> | MUST NOT be treated as an error.
> `----
>
> Dovecot seems to ignore this "SHOULD NOT" or am I missing
something ?
> At first, I thought they were speaking of case where there is two
> idententic "fileinto" directive in the ruleset. Something like :
> fileinto "box";
> fileinto "box";
>
> But, I don't think that they would they "the test for equality of
two
> messages" with such a trivial case.
>
> Maybe dovecot should maintain a list of recent message-id seen for
> each user (with the associated mailbox).
I have interpreted this to mean that within a single delivery (e.g. a
single invocation of a script for a particular message), the implementation
should take care to de-duplicate requests to file into folders, so that
attempts to file multiple times to a folder within that single script
execution should be thwarted. Your last sentence makes it seem that you
are thinking that the prohibition spans multiple script invocations
(e.g. for different deliveries), but I don't believe that's the intent.
The last line you quoted:
| If a script asks for a message to be written to a mailbox twice, it
| MUST NOT be treated as an error.
makes that pretty clear to me, that it is about one single script
execution.
Note that I have no idea if dovecot deliver does that or not, I'm
just reacting to the implication in your last line.
mm