Mark E. Mallett explained:
On Tue, Aug 19, 2003 at 06:49:03PM +0300, Timo Sirainen wrote:
I thought he was just musing about finding a delivery agent that
Mark, I know you're just being polite. It's OK to say "grousing" or "whingeing" because that's what I was doing. ;-)
included a filtering language. Not sure what good having such a thing in the IMAP server does, although I know some support it. Seems to me that a facility to re-deliver mail or other general ways to give a message to a standalone tool (as briefly discussed a while ago) would be superior.
in all seriousness, what you are describing is the right place to put a filter as long as the user agent has a channel for notifications of mail delivery to different mailboxes. Remember my grousing about complexity? This kind of simplification is necessary.
So, to go to the next step, there are 4 components on the receive side of a mail system, MTA, LDA, MPA, MUA; mail transport agent, local delivery agent, mailbox presentation agent, and mail user agent. Sendmail and postfix are examples of mail transport agents. Procmail is an example of a local delivery agent. dovecot is an example of a mailbox presentation agent. And Eudora, Mozilla, outlook are all examples of mail user agents.
if I understand you correctly Mark, you think that putting filter and plug-in facilities into the local delivery agent would be the appropriate place. Please correct me if I'm wrong.
Architecturally, I consider putting the filter in the LDA appropriate because the filter operations happen at delivery time when it's appropriate not as you are trying to read your inbox. It's also the appropriate place to put other types of processing such as antispam and antivirus checking.
One interesting thing about this model is that it implies if you can push mail around from the MPA, there is a question of whether or not you want to replicate LDA functionality in the MPA and if so, how much? or how much common code can a LDA and MPA share? Is there a different architectural structure where all inbound mail is injected through common path.
I don't expect anyone to do anything about this. I'm just treading the ground to see what the terrain feels like.
---eric