41 messages in net.sourceforge.lists.courier-usersRe: [courier-users] Filter API
FromSent OnAttachments
Bernd WurstDec 30, 2006 1:08 am 
Sam VarshavchikDec 30, 2006 6:12 am 
Bernd WurstDec 30, 2006 7:36 am 
Sam VarshavchikDec 30, 2006 8:51 am 
Bernd WurstDec 30, 2006 9:08 am 
Sam VarshavchikDec 30, 2006 9:55 am 
Aleksandar LazicDec 30, 2006 10:06 am 
Sam VarshavchikDec 30, 2006 10:24 am 
Aleksandar LazicDec 30, 2006 10:32 am 
Bernd WurstDec 30, 2006 10:34 am 
Arturo 'Buanzo' BusleimanDec 30, 2006 10:37 am 
Arturo 'Buanzo' BusleimanDec 30, 2006 10:38 am 
Bernd WurstDec 30, 2006 10:45 am 
Sam VarshavchikDec 30, 2006 11:02 am 
Aidas KasparasDec 30, 2006 11:10 am 
Aleksandar LazicDec 30, 2006 11:12 am 
Sam VarshavchikDec 30, 2006 1:42 pm 
Aleksandar LazicDec 30, 2006 2:56 pm 
Sam VarshavchikDec 30, 2006 3:56 pm 
Aleksandar LazicDec 30, 2006 5:00 pm 
Gordon MessmerDec 31, 2006 10:00 am 
Lorenzo PeroneJan 7, 2007 12:27 pm 
Julian MehnleJan 7, 2007 12:56 pm 
Sam VarshavchikJan 7, 2007 3:42 pm 
Lorenzo PeroneJan 8, 2007 6:59 am 
Gordon MessmerJan 8, 2007 8:37 am 
Lorenzo PeroneJan 9, 2007 8:33 am 
Gordon MessmerJan 10, 2007 12:34 am 
Julian MehnleJan 13, 2007 10:37 am 
Alessandro VeselyJan 14, 2007 2:46 am 
Milan ObuchJan 14, 2007 5:03 am 
Lloyd ZusmanJan 14, 2007 6:23 am 
Aidas KasparasJan 15, 2007 1:28 am 
Gordon MessmerJan 15, 2007 4:01 pm 
Gordon MessmerJan 15, 2007 4:21 pm 
Julian MehnleJan 15, 2007 4:45 pm 
Sergiy ZhukJan 15, 2007 5:42 pm 
Alessandro VeselyJan 16, 2007 1:36 am 
Gordon MessmerJan 21, 2007 7:14 pm 
Alessandro VeselyJan 22, 2007 7:58 am 
Gordon MessmerJan 22, 2007 10:02 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [courier-users] Filter APIActions...
From:Alessandro Vesely (ves@tana.it)
Date:Jan 14, 2007 2:46:04 am
List:net.sourceforge.lists.courier-users

Julian Mehnle wrote:

Gordon Messmer wrote:

Lorenzo Perone wrote:

If I understood correctly the rest of this thread, at the moment it is not a good idea to modify the message even once, within a courierfilter. So it wouldn't be possible to save a modified copy, which is desired in my as well as in other setups.

You can't modify it, but the technique I use in pythonfilter is to modify the control files to mark all recipients complete, inject a new, modified message into the queue with the same control data, and then tell courier to accept the message. courierd will examine the message from SMTP and remove it because it's already done, and then deliver the modified message that the filter added to the queue.

Ironically, this, too, defies Courier's attempts at being efficient, at least for messages that you want to modify. In setups where you modify practically all messages that you don't reject, it makes Courier's efficiency attempts pointless.

Not only Courier has to discard the old message, but it has to accept a new one. Perhaps, the "resubmit path" can be optimized slightly? Anyway, it will remain a technique suitable for setups where messages are modified in a few cases only.

Filters that always add a header could overwrite a previously inserted header mask. We need a hook to pre-insert masks, then. Filters setting a result that maildrop filters can use, could set a variable in the control file. The latter implies maildrop should be able to retrieve such variables.

My point being, I think Courier should offer a mode where it parses messages' MIME structure only _after_ having called the courierfilters.

As an alternative mode, Courier could rewrite the message before invoking global filters. I.e., invoke global filters just before recipient-specific filters. It may be somewhat inefficient to rewrite a message if a filter is going to discard it. Thus it may still be better for some other filters to be called in one of the currently existing modes.

For yet another approach, a filter response could contain some modification commands, e.g. "add this header", "drop that attachment"...