On Tue, Jan 02, 2001 at 02:03:01PM +0000, Philip Hazel wrote:
> If you are interested in the future technical development of Exim,
> please read this document and send me (or the exim-users list) any
> comments you may have. Even simple remarks such as "I like this idea" or
> "I don't like this idea" will be useful feedback.
OK, most of the proposed changes look fine (after a skim reading), and
in addition I would like to propose two additional "wish list" items
that would suit a major release:
1. SQL Lookups
The existing lookup scheme for mysql and postgresql is a vit
"simplistic" and I am not sure about the performance for a busy
servers. Two changes I would propose here are (a) the addition of the
ability to connect to multiple datasources at the same time and (b)
some form of extended local cacheing of data.
I have not yet had time to think about the details - more later.
I am happy to do this work BTW.
2. Reinjection of mail, with loop prevention
Running a virtual mail service means that sometimes stuff happens to
mail that is re-delivered locally than that to remote mail. A simple
example is mailing lists; If I have an address that is the member of
two mailing lists (as aliasfile's), exim very intelligently only
delivers once - I would like to be able to treat each domain (at
least, if not each address) as a separate policy delivery.
I am not explaining this very well, hang on while I think of
examples... (this is e-mail, so waiting time is sort of pointless :)
OK, back to mailing list membership and multiple mailing list
deliveries; Through a configuration scheme, the manager of a mailing
list may apply policy to headers, reply-to addresses etc., but if the
same address is subscribed to more than one list which happen by
coincidence be served on the same mail machine running exim, then is
is almost pot luck which set of policies get applied to the user's
delivery - it is even more "fun" if that address is delivered to the
same server too.
What might be feasible it some way of specifying in a router (yesm
directors and routers should be merged :) that a certain level of
delivery addresses are 'roots' and should be processed as distinct.
Normally this would be a single message, and all the envelope
reciepients are sub-ordinate to it, but maybe by saying
"redeliver = LOOKUP" or something, each given recipient
found in the envelope would be split off and a new message, with a new
envelope put on the queue.
Hmm, still clear as mud; a example: ?
mail_list:
....
redeliver = $h_to, $h_cc
Would result in 'n' new messages, where 'n' is the total number of
recipient in the to and cc headers ?
Sorry - I know what I want, I just can't get the words right :)
On the loop prevention, I notice that exim has no in-built loop
protection using some pseudo header. I might be completely wrong, but
something to do this without each user having to re-invent the
configuration lines to test and set a header would be useful - not
just in this example.
rgds,
--
Peter Galbavy
Knowledge Matters Ltd
http://www.knowledge.com/