Lähettäjä: Michael Haardt Päiväys: Vastaanottaja: exim-users Aihe: [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
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":
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.