On Fri, Jun 23, 2006 at 02:46:12AM +0200, Eduardo Díaz Comellas wrote:
    [...]
> The algorithm would be:
> 
> At reception: each mail passes through a filter which assigns a priority 
> value, from 0 (max priority) to 99 (lowest priority). Mails with priority 
> other than 0 are queued instead of sent directly. 
> 
> The queue runner sorts mails in the queue based on the priority, and starts 
> sending those with priority 0, then priority 1 and so on. When one category 
> is ended, the queue should be read again to see if new "higher priority" 
> mails have arrived the queue.
> 
> Is this possible today? Any chance to get it implemented? Any help to 
> implement it?

Switch off exim's own queue runners, and use an ACL to
stick the priorities in a header in the mail (erasing any
such that already exists). Then write a program which
iterates over the queue files, reading the headers (-H
files) to obtain the priorities and then sorting the list
of message-IDs in order; having done that, kick off exim
-M processes for them, starting with the most important
and working down to the least important. (I'm assuming
that no outgoing mail is going through this host; if it
does you'll need to treat outgoing mail separately.)

Is this wise, though? In your scheme low-priority mails
could be queued indefinitely behind higher-priority ones,
and delayed for an arbitrarily long time, which sounds
undesirable.

-- 
``Television enables you to be entertained in your home
  by people you wouldn't have in your home.'' (David Frost)

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to