james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cristian Bogdan <cri...@nada.kth.se>
Subject mail processing events?
Date Sat, 14 Sep 2002 02:59:34 GMT
Hello All, thanks for the good work on James!

I want to use James without assembling any smtp/pop services, just do 
mail content processing and gather all the results in one place. This is 
because my site cannot use James as SMTP/MTA. The MTA runs on a separate 
machine, and I _can_ afford James content processing to fail (in which 
case the MTA will just spread the messages intact, un-processed by 
James). James' "stub" in the MTA has to be really small and simple, and 
either give the MTA the messages resulted from 1 messge processing (all 
at a time) either say "James failed at some point, just deliver the 
message intact".

To be able to gather all the processed copies, I need to know the moment 
when no processed messages deriving from the initial message exist in 
the system (in any mailet, in any processor). That is, I need to know 
the moment when my message is completely "out" of the spool system. A 
nice system dynamics problem :)

Now I know that few services will ever want to know such a thing so 
having the SpoolManager keep track of this info is not generally useful.

I think the easiest and most generic way to support this is to give the 
possibility to mailet or service programmers to register callbacks for 
events of this sort:
- mail x has changed state from a (or nothing, upon creation) to b
- mail x has been duplicated as y
- mail x has been renamed as y

In the existing code, this feature would mostly require changes to 
MailImpl duplicate(), setState() and setName(). Also instances of 
MailImpl should be properly setState(ghost) by the processors whenever 
needed (e.g. when they reach the end of the pipeline without having been 
ghosted by any mailet).

If this makes sense :), I am willing to implement such a feature.

Thanks

Cristian




--
To unsubscribe, e-mail:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>


Mime
View raw message