[exim] Re: Enhancing Seive definitions in the Exim environme…

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Michael Haardt
Data:  
Para: exim-users
Assunto: [exim] Re: Enhancing Seive definitions in the Exim environment
> >What do you want to change specifically?
> >
> >o implicit keep


> Yes - router setting like: keep_means_skip_router = true


> >o explicit keep


> Maybe the same - I don't know


> >o fileinto "inbox"


> If fileinto is followed by the name of a router or transport then it
> branches to that router or transport. If followed by the name of a file
> then it delivers to the file. Think beyond the concept of files as
> destinations. To the the destination is anything that can take a message.


Filters pass back addresses (because they are part of redirect routers).
I don't know if filters could attach hints which router to use for a
particular address. See below for that.

> >o combinations of the above? (note the ':copy" extension)


> Anyting that would


So look at this:

fileinto "inbox.folder";
keep;
fileinto :routeby "example_router";

You original suggestion to recognise routers by name conflicts with a
folder named "example_router", so an extension is needed to at least
tell exim that it should return an address type that is not an address
really, but a hint to continue with the specified router. That's ugly,
so suggest to use a new action called "route":

fileinto "inbox.folder";
keep;
route "example_router";

It would save a copy to "inbox.folder", one to "inbox" and continue
routing the message by "example_router", for whatever this is useful.
Is that what you are talking about?

> To me as implemented in Exim - sieve is useless because it has to be the
> final delivery agent.


How is Sieve used in other mailers? A short summary may be helpful.

> In my mind this doesn't break and syntax or any rules. It's just a
> logical expansion of the concepts to take into account a more powerful
> environment.


Well, standards don't care about minds and changing 'keep', implicit or
not, to do something different than 'fileinto "inbox"' *does* violate
RFC 3028, so it's not Sieve anymore.

You are asking for a Sieve extension, like "vnd.exim.route", and a new
flag to allow or forbid this, because giving users control over routing
may be dangerous. You need to extend Exim with an af_route flag, see
around line 472 in structs.h. I don't know how easy or hard it is to
process this flag in Exim, but Philip can probably tell.

Michael