Alessandro Vesely <ves...@tana.it> writes:
Lloyd Zusman wrote:
[ ... ]
There is a couple of other functionalities that would make sense here:
4. drop the message (currently done by marking all users as delivered)
5. give a diagnosis, in the form of a piece of data that local filters
may use.
Those two points can be developed using the same kind of logic, that is
encoding the filter response in something that is not a valid SMTP response.
For that reason, I would use, say, 'A' (for Accept) rather than '0' as the
leading character. That will lead to uniform syntax that will be nicer to
document whenever more functionalities are added. E.g. a filter may return
(syntax to be refined)
"Accept; 250 accepted unconditionally",
"Drop; 251 the message will be dropped", or
"Var SPAM_GRADE=75%; 200 message accepted with some reservations".
We are still not allowing a filter to change the MIME text of the message,
but paving the way to a more significant enhancement.
Shall I provide an alternative patch?
Well, that's certainly fine with me. My patch was nothing more than a
proof of concept. I'm using my patched version now, but I have no
personal investment.
Your idea looks fine to me. I'd like to see its implementation.
As for a filter changing the MIME text: the way Courier is currently
designed, it would take a major refactoring to allow courierfilters to
alter messages. The only way this can be done now, given the current
architecture, is for the message to be dropped and the altered form to
be reinjected as a new message. I believe that Gordon Messmer recently
submitted some software that does this.