You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Jason Webb <jw...@inovem.com> on 2003/01/14 11:33:25 UTC

[V3]Mailet chaining

I can't remember if this has been discussed before, but...

We would really like to able to chain mailets together in code.
The main reason for this is so that our MLM code can directly call the
remote delivery mailet (as I know that all mails WILL be outward bound).
This may seem like an isolated example, so I'd be interested if anyone
else can come up with other uses. Remember I am not trying to break the
current pipeline, I'm more wanting to increase performance by
short-circuiting mail delivery.

-- Jason

P.S. I believe servlets already do this (not quite sure though)


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: [V3]Mailet chaining

Posted by "Noel J. Bergman" <no...@devtech.com>.
Jason,

> We would really like to able to chain mailets together in code.

That is exactly what the James pipeline does.  Just refactor the pipeline.
If you want, you could put RemoteDelivery into a separate processor, and
just set the mail state.

> The main reason for this is so that our MLM code can directly call the
> remote delivery mailet

There may be some code refactoring in James v3.

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: [V3]Mailet chaining

Posted by Jason Webb <jw...@inovem.com>.

> -----Original Message-----
> From: Danny Angus [mailto:danny@apache.org] 
> Sent: 14 January 2003 11:20
> To: James Developers List
> Subject: RE: [V3]Mailet chaining
> 
> 
> surely you can simply put remote delivery in its own 
> processor and change the state of mail in your mailet so that 
> they are placed in this processor immediately after leaving 
> your mailet, where they will be opend by remoted delivery and 
> delivered or spooled for retrying.
> 
> If this isn't enough why not?
Doh! Yes it is ...
> 
> nextly..
> 
> in Jamesv3 you will be able to store mail directly in the 
> outgoing spool where it can be picked up by remote delivery.
That's good too.
> 
> I'd also rather know what improvements you would like than 
> how you would like to achieve them.
> 
My main issue at the moment seems to be the repository implementations
for spool and outgoing.

* File based - slow and seems to have a massive memory overhead. Also,
the current implementation writes a lot of files into a top-level
directory. This can cause the OS real problems as it attempts to manage
a 100000 file directory (or whatever). Qmail uses directories within the
spool to make this less of a problem. Oh, and the directory cannot, as
of yet, be placed on another disk for performance reasons. Yes you can
do this using mount etc., but that won't help Win2k users very much.

* DB based - faster, but has really serious contention issues with more
than 1 thread doing delivery for example (particularly on MS SQL
Server). I would like to see a JMS implementation (or similar) to allow
multiple servers to deliver from one queue. A cluster if you like.

We don't use user repositories, so I've less to comment on.
> d.
> 
> 
> > -----Original Message-----
> > From: Jason Webb [mailto:jw@inovem.com]
> > Sent: 14 January 2003 10:33
> > To: 'James Developers List'
> > Subject: [V3]Mailet chaining
> >
> >
> > I can't remember if this has been discussed before, but...
> >
> > We would really like to able to chain mailets together in code. The 
> > main reason for this is so that our MLM code can directly call the 
> > remote delivery mailet (as I know that all mails WILL be outward 
> > bound). This may seem like an isolated example, so I'd be 
> interested 
> > if anyone else can come up with other uses. Remember I am 
> not trying 
> > to break the current pipeline, I'm more wanting to increase 
> > performance by short-circuiting mail delivery.
> >
> > -- Jason
> >
> > P.S. I believe servlets already do this (not quite sure though)
> >
> >
> > --
> > To unsubscribe, e-mail: 
> > <ma...@jakarta.apache.org>
> > For additional commands, e-mail: 
> > <ma...@jakarta.apache.org>
> >
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:james-dev-> unsubscribe@jakarta.apache.org>
> For 
> additional commands, 
> e-mail: <ma...@jakarta.apache.org>
> 
> 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: New to the list..

Posted by "Noel J. Bergman" <no...@devtech.com>.
Serge,

I was just trying to contrast between putting the e-mail through the
pipeline vs storing it directly in the user repository, and then suggested
that if there was a desire to skip the pipeline, that it could be a
configuration item.

Yes, sendMail does end up being a call to spool.store() at the end of the
call chain, so the option could be by configuring the repository name.  But
at the moment, I don't believe that sending mail is actually *defined* that
way in the Mailet API -- it is just implemented that way by James.  That was
behind the comment I made about unifying concepts in James v3.

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by Serge Knystautas <se...@lokitech.com>.
Noel J. Bergman wrote:
> Doing a store would bypass the James pipeline.  Doing the send
> puts the message through local message processing.  This is considered
> desirable.  An argument could be made for it being a configuration option.
> 
> 
>>IMHO, absolutely not... if you want to put it at the top of the
>>pipeline, put it in the root repository, which is always the top
>>of the spool for local message processing.
> 
> 
> Serge, please clarify your point.  The term "repository" is overloaded a bit
> too much for clarity in this context.  I am not at all sure that we are
> disagreeing.
> 
> FetchPOP inserts mail the same way that the SMTPHandler does, using
> sendMail().  Eventually, sendMail() calls setState(), which specifies which
> processor.  It does not store the user's mail directly in the user's
> mailbox.

Yeah, probably are, so just to clarify...

All sendMail(Mail) does is store the mail object in the _inbound_ 
repository, which out of the box is something like 
file://var/mail/spool.  So if fetchpop just stored the mail object to 
file://var/mail/spool repository, you'd have the same result (mail gets 
processed).

You could have this target repository as an optional configuration 
setting (as you suggested) so maybe we are agreeing.  But since it 
seemed you were saying that fetchpop had to do sendMail() to get the 
mail processing to happen, I didn't think we were.

-- 
Serge Knystautas
Loki Technologies
http://www.lokitech.com


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: New to the list..

Posted by "Noel J. Bergman" <no...@devtech.com>.
> Doing a store would bypass the James pipeline.  Doing the send
> puts the message through local message processing.  This is considered
> desirable.  An argument could be made for it being a configuration option.

> IMHO, absolutely not... if you want to put it at the top of the
> pipeline, put it in the root repository, which is always the top
> of the spool for local message processing.

Serge, please clarify your point.  The term "repository" is overloaded a bit
too much for clarity in this context.  I am not at all sure that we are
disagreeing.

FetchPOP inserts mail the same way that the SMTPHandler does, using
sendMail().  Eventually, sendMail() calls setState(), which specifies which
processor.  It does not store the user's mail directly in the user's
mailbox.

I do think that we can unify things further in James v3.

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by Serge Knystautas <se...@lokitech.com>.
Noel J. Bergman wrote:
>>2) Is there a reason why fetchpop does a send instead of a store?
> 
> 
> Absolutely.  Doing a store would bypass the James pipeline.  Doing the send
> puts the message through local message processing.  This is considered
> desirable.  An argument could be made for it being a configuration option.

IMHO, absolutely not... if you want to put it at the top of the 
pipeline, put it in the root repository, which is always the top of the 
spool for local message processing.  The only reason I can think to not 
specify via repository is if you don't want to have fetchpop know where 
that repository is (I suppose somewhat of use, but even still doesn't 
seem that critical).

>>3) Is anyone else working on something like this or interested in this
>>   at all?
> 
> 
> I think that there would be considerable interest, especially since your
> version now allows us to integrate yahoo and hotmail, amongst other things,
> into James.

Yeah, the Yahoo! mail javamail implementation is pretty cool.


Sounds like it would be good to see your code.

-- 
Serge Knystautas
Loki Technologies
http://www.lokitech.com


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by Serge Sozonoff <se...@globalbeach.com>.
Hi Leo,

Would you mind letting me have a look at your FetchPOP version so we can try and combine efforts on this.
You can send it to me offlist if you want.

Thanks, Sergei
  ----- Original Message ----- 
  From: Leo A. D'angelo 
  To: James Developers List 
  Sent: Tuesday, January 14, 2003 10:52 PM
  Subject: Re: New to the list..


  Thanks Serge,

  I actually hand merged your changes into my javamail version over the weekend... This seems to work fine. I just want to make sure that this is the "right" way to solve this problem.... It also got me to thinking on how much control can I get over the mail processing pipeline (admittedly I have not played with this part of james at all). For example it would be best to store messages in an encrypted format and decrypt them as they are "fetched" by their respective protocols (POP, IMAP).... Right now I'm not clear how to do this or if it is even possible...

  Thanks for the patch I was headed down a slippery slope before I saw it in the archives ;^)

  -LeoD


  On Tuesday, January 14, 2003, at 01:42 PM, Serge Sozonoff wrote:


    Hi Leo,


      I am trying to use fetch(POP,IMAP,etc..) as an equivalent to fetchmail on

    linux

      then use the mailet's as the equivalent of procmail. Under my current

    configuration

      if I fetch a mail message that has been sent to more then one person (on

    the To line), when I pass the

      message to sendMail the other people on the To: line also get a copy of the

    message

      (this is undesirable) so I was thinking what I want to do is get the

    userstore for the intended recipient and

      simply store the message. Does this make any sense at all?


    I submited a patch on 08.01.2003 which might help you address this issue.

    Serge



    --
    To unsubscribe, e-mail: <ma...@jakarta.apache.org>
    For additional commands, e-mail: <ma...@jakarta.apache.org>




  ------------------------------------------------------------------------


  Leo A. D'Angelo 
  Chief Technology Officer
  j2 Global Communications Inc. 
  DID: (323) 860-9288 
  FAX: (323) 372-3522 
  website: http://www.j2.com/
  e-mail: ldangelo@j2.com <ma...@j2.com> 
  PGP Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE8671948

  Confidentiality Notice: The information contained in this e-mail and any 
  attachments is confidential and may also be legally privileged. It is 
  for the exclusive use of the intended recipient. If you are not an 
  intended recipient, you are hereby notified that any dissemination, 
  distribution or copying of this e-mail is strictly prohibited. If you 
  have received this e-mail in error, please notify the sender and 
  permanently delete the e-mail and any attachments immediately. You 
  should not retain, copy or use this e-mail or any attachment for any 
  purpose, nor disclose all or any part of the contents to any other 
  person. Thank you.

  ------------------------------------------------------------------------






Leo's new FetchMessage service (RE: New to the list..)

Posted by "Noel J. Bergman" <no...@devtech.com>.
Leo,

> For example it would be best to store messages in an encrypted format
> and decrypt them as they are "fetched" by their respective protocols

You can't control what the far end provides, you IF you detect it as
encrypted (with a matcher) then you can run it through a decrypting mailet.
This is one reason for why you might want to post the message through the
James pipeline rather than directly into a user's repository.

	--- Noel

P.S. If you don't mind, would you please make sure that you have turned on
"plain text only" for this mailing address?  :-)  I don't know where to find
that on whatever Macinoths mail client you're using, but it should be an
option.


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by "Leo A. D'angelo" <ld...@mac.com>.
Thanks Serge,

I actually hand merged your changes into my javamail version over the 
weekend...  This seems to work fine.  I just want to make sure that 
this is the "right" way to solve this problem....  It also got me to 
thinking on how much control can I get over the mail processing 
pipeline (admittedly I have not played with this part of james at all). 
  For example it would be best to store messages in an encrypted format 
and decrypt them as they are "fetched" by their respective protocols 
(POP, IMAP)....  Right now I'm not clear how to do this or if it is 
even possible...

Thanks for the patch I was headed down a slippery slope before I saw it 
in the archives ;^)

-LeoD


On Tuesday, January 14, 2003, at 01:42 PM, Serge Sozonoff wrote:

> Hi Leo,
>
>> I am trying to use fetch(POP,IMAP,etc..) as an equivalent to 
>> fetchmail on
> linux
>> then use the mailet's as the equivalent of procmail. Under my current
> configuration
>> if I fetch a mail message that has been sent to more then one person 
>> (on
> the To line), when I pass the
>> message to sendMail the other people on the To: line also get a copy 
>> of the
> message
>> (this is undesirable) so I was thinking what I want to do is get the
> userstore for the intended recipient and
>> simply store the message. Does this make any sense at all?
>
> I submited a patch on 08.01.2003 which might help you address this 
> issue.
>
> Serge
>
>
>
> --
> To unsubscribe, e-mail:   
> <ma...@jakarta.apache.org>
> For additional commands, e-mail: 
> <ma...@jakarta.apache.org>
>
>

------------------------------------------------------------------------


Leo A. D'Angelo
Chief Technology Officer
j2 Global Communications Inc.
DID:           (323) 860-9288
FAX:          (323) 372-3522
website:  http://www.j2.com/
e-mail:       ldangelo@j2.com <ma...@j2.com>
PGP Key:  http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE8671948

Confidentiality Notice: The information contained in this e-mail and any
attachments is confidential and may also be legally privileged. It is
for the exclusive use of the intended recipient. If you are not an
intended recipient, you are hereby notified that any dissemination,
distribution or copying of this e-mail is strictly prohibited. If you
have received this e-mail in error, please notify the sender and
permanently delete the e-mail and any attachments immediately. You
should not retain, copy or use this e-mail or any attachment for any
purpose, nor disclose all or any part of the contents to any other
person. Thank you.

------------------------------------------------------------------------





RE: New to the list..

Posted by Danny Angus <da...@apache.org>.
yes serge, thanks, it was noted, I'll apply it before the w/e.

> -----Original Message-----
> From: Serge Sozonoff [mailto:serge@globalbeach.com]
> Sent: 14 January 2003 21:42
> To: James Developers List
> Subject: Re: New to the list..
>
>
> Hi Leo,
>
> >I am trying to use fetch(POP,IMAP,etc..) as an equivalent to fetchmail on
> linux
> >then use the mailet's as the equivalent of procmail. Under my current
> configuration
> >if I fetch a mail message that has been sent to more then one person (on
> the To line), when I pass the
> >message to sendMail the other people on the To: line also get a
> copy of the
> message
> >(this is undesirable) so I was thinking what I want to do is get the
> userstore for the intended recipient and
> >simply store the message. Does this make any sense at all?
>
> I submited a patch on 08.01.2003 which might help you address this issue.
>
> Serge
>
>
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by Serge Sozonoff <se...@globalbeach.com>.
Hi Leo,

>I am trying to use fetch(POP,IMAP,etc..) as an equivalent to fetchmail on
linux
>then use the mailet's as the equivalent of procmail. Under my current
configuration
>if I fetch a mail message that has been sent to more then one person (on
the To line), when I pass the
>message to sendMail the other people on the To: line also get a copy of the
message
>(this is undesirable) so I was thinking what I want to do is get the
userstore for the intended recipient and
>simply store the message. Does this make any sense at all?

I submited a patch on 08.01.2003 which might help you address this issue.

Serge



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Leo's new FetchMessage service (RE: New to the list..)

Posted by "Noel J. Bergman" <no...@devtech.com>.
Leo,

> If someone can point me towards the instructions on how I can
> contribute what I develop and I am more than happy to share!

Great!  :-)

Does this help?  http://jakarta.apache.org/james/contribute.html

> I am trying to use fetch(POP,IMAP,etc..) as an equivalent to fetchmail on
linux

Excellent!  You might have noticed my reference to Eric's fetchmail the
other week to Sergei.  FetchPOP was just a start.  Sounds like you're really
taking the ball on it, and that sounds great.

> then use the mailet's as the equivalent of procmail.

Right.  That is why you want to put the message into the pipeline.  :-)

> if I fetch a mail message that has been sent to more then one person
> (on the To line), when I pass the message to sendMail the other people
> on the To: line also get a copy of the message (this is undesirable)

It appears that FetchPOP uses the wrong variation of sendMail.  Please look
at SMTPHandler, and create a Mail object with the correct recipient(s).

Let me explain: Message is the actual message.  Mail is a carrier that has a
message, but also other attributes.  If you look at the SMTPHandler, you
should see that the message is what we receive from the DATA command, but
the mail object (carrier) has information from the HELO and RCPT TO
commands.

I only glanced at the code briefly, but it looks like a very easy fix.  Of
course, if I missed something, Danny will point out my error.

> What I am thinking is that james can collect signatures (or certs)
> and use them to sign and encrypt messages automatically.  One of
> the big barriers to encrypting e-mail is the average e-mail user
> does not understand how to do it.

Possibly, but that would be a specific application of the general approach.

In your case, I might want to have James check your e-mail locally before I
get it, because you're using PGP, and I don't want to install the PGP
plug-in for my mail client.  On the other hand, let's say that James
verified your identity.  We'd have to do something so that when I got the
message from James, I knew that no one had falsely spoofed whatever James
would do to tell me that it had verified your signature.

> Also I was thinking that the "servers" could exchange certs
> with each other and then everything that passes between domains
> is encrypted via s/mime rather than on a user by user basis....

That sort of message exchange could be incorporated into the pipeline.
Fairly straigtforward to do.  Point to point communications can use TLS, but
store & forward might benefit from encryption.  In any event, once done it
is just a tool.

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by "Leo A. D'angelo" <ld...@mac.com>.
On Tuesday, January 14, 2003, at 10:41 AM, Noel J. Bergman wrote:

> Leo,
>
> Welcome!  :-)
>
>> 1) Why doesn't fetchpop use javamail API?  I have hacked a
>>    version that does, and it can be used for pop, imap,
>>    nntp or any other javamail transport relatively easily?
>
> I don't know that there is any technical reason not to use JavaMail.  
> Your
> version sounds like it would be a welcome contribution.
>
It seemed advantageous in that javamail supports multiple types of 
"transports" (POP, IMAP, NNTP, MH, MBOX, etc...) with the same API.  
Also providers can be changed "on the fly".

If someone can point me towards the instructions on how I can 
contribute what I develop and I am
more than happy to share!

>> 2) Is there a reason why fetchpop does a send instead of a store?
>
> Absolutely.  Doing a store would bypass the James pipeline.  Doing the 
> send
> puts the message through local message processing.  This is considered
> desirable.  An argument could be made for it being a configuration 
> option.

I am trying to use fetch(POP,IMAP,etc..) as an equivalent to fetchmail 
on linux
then use the mailet's as the equivalent of procmail.  Under my current 
configuration
if I fetch a mail message that has been sent to more then one person 
(on the To line), when I pass the
message to sendMail the other people on the To: line also get a copy of 
the message
(this is undesirable) so I was thinking what I want to do is get the 
userstore for the intended recipient and
simply store the message.  Does this make any sense at all?

>
>> 3) Is anyone else working on something like this or interested in this
>>    at all?
>
> I think that there would be considerable interest, especially since 
> your
> version now allows us to integrate yahoo and hotmail, amongst other 
> things,
> into James.
>
>> I have been playing around with james for a couple of months with the
>> intention of adding pgp and s/mime encryption/decryption mailet's
>
> Interestingly enough, this very subject came up over the past two days 
> on
> james-user.  I believe that there will likewise be considerable 
> interest in
> such mailets.  In normal use, client mailers handle encryption, but 
> James is
> also intended for building messaging applications, and thus benefits 
> from
> being able to participate in encrypted message exchanges.
>

What I am thinking is that james can collect signatures (or certs) and 
use them to sign and encrypt messages
automatically.  One of the big barriers to encrypting e-mail is the 
average e-mail user does not understand
how to do it.  Also I was thinking that the "servers" could exchange 
certs with each other and then everything
that passes between domains is encrypted via s/mime rather than on a 
user by user basis....  So I am hoping to handle both user level as 
well as server/domain level encryption solutions.

> 	--- Noel
>
>
> --
> To unsubscribe, e-mail:   
> <ma...@jakarta.apache.org>
> For additional commands, e-mail: 
> <ma...@jakarta.apache.org>
>
>

------------------------------------------------------------------------


Leo A. D'Angelo
Chief Technology Officer
j2 Global Communications Inc.
DID:           (323) 860-9288
FAX:          (323) 372-3522
website:  http://www.j2.com/
e-mail:       ldangelo@j2.com <ma...@j2.com>
PGP Key:  http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE8671948

Confidentiality Notice: The information contained in this e-mail and any
attachments is confidential and may also be legally privileged. It is
for the exclusive use of the intended recipient. If you are not an
intended recipient, you are hereby notified that any dissemination,
distribution or copying of this e-mail is strictly prohibited. If you
have received this e-mail in error, please notify the sender and
permanently delete the e-mail and any attachments immediately. You
should not retain, copy or use this e-mail or any attachment for any
purpose, nor disclose all or any part of the contents to any other
person. Thank you.

------------------------------------------------------------------------





RE: New to the list..

Posted by "Noel J. Bergman" <no...@devtech.com>.
Leo,

Welcome!  :-)

> 1) Why doesn't fetchpop use javamail API?  I have hacked a
>    version that does, and it can be used for pop, imap,
>    nntp or any other javamail transport relatively easily?

I don't know that there is any technical reason not to use JavaMail.  Your
version sounds like it would be a welcome contribution.

> 2) Is there a reason why fetchpop does a send instead of a store?

Absolutely.  Doing a store would bypass the James pipeline.  Doing the send
puts the message through local message processing.  This is considered
desirable.  An argument could be made for it being a configuration option.

> 3) Is anyone else working on something like this or interested in this
>    at all?

I think that there would be considerable interest, especially since your
version now allows us to integrate yahoo and hotmail, amongst other things,
into James.

> I have been playing around with james for a couple of months with the
> intention of adding pgp and s/mime encryption/decryption mailet's

Interestingly enough, this very subject came up over the past two days on
james-user.  I believe that there will likewise be considerable interest in
such mailets.  In normal use, client mailers handle encryption, but James is
also intended for building messaging applications, and thus benefits from
being able to participate in encrypted message exchanges.

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Leo's new FetchMessage service (RE: New to the list..)

Posted by "Noel J. Bergman" <no...@devtech.com>.
> To me, it would seem ideal for fetchPOP to be no different to the
> SMTPHandler, from the point of view of the rest of JAMES.

That's the way it is supposed to be.  :-)

> I can see the difficulty in having to deal with the extraneous
> recipients of fetched messages, but I wonder if this could be
> dealt with through the use of a (v3) mail attribute?

No new attribute is necessary.  The problem is simple.  FetchPOP uses the
form of sendMail that takes a MimeMessage, which means that it has to rely
upon the headers, rather than building a Mail object, which already has a
property for local recipients.  In other words, what you went on to propose
is already in the code.  :-)

	--- Noel


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: New to the list..

Posted by Aaron Knauf <ak...@xtra.co.nz>.

>>2) Is there a reason why fetchpop does a send instead of a store?
> 
> 
> For the resaons stated by Serge & Noel I wanted fetched mail to be treated
> the same as SMTP delived mail, to gain the advantages of the mailet
> pipeline. Although recent comments suggest that short-circuiting fetched
> mail straight to a single user might be a worthwhile option.

To me, it would seem ideal for fetchPOP to be no different to the 
SMTPHandler, from the point of view of the rest of JAMES.  I can see the 
difficulty in having to deal with the extraneous recipients of fetched 
messages, but I wonder if this could be dealt with through the use of a 
(v3) mail attribute?

Obviously fetchPOP cannot delete the unwanted recipients, as the real 
recipient may wish to see them, but if both the SMTPHandler and fetchPOP 
set a mail attribute for the "active recipient", then this could be used 
to allow mailets to ignore extraneous recipients and process the mail 
with respect to the "active" recipient only. No differentiation between 
mail receipt mechanisms would then be necessary.

The down side of this idea is that the SMTPHandler would have to submit 
each message to the processor once /for each recipient/.  This poses 
obvious efficiency problems.  This could perhaps be worked around by 
allowing multiple "active" recipients for a single message.

An actual field on the Mail interface is probably better suited to this 
purpose than a mail attribute, as it would need to be a universally used 
mechanism to be of real use.  I see mail attributes as being an 
extensibility mechanism for use in situations where the attribute is not 
universally used.



Any thoughts?

ADK


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: New to the list..

Posted by Danny Angus <da...@apache.org>.
Leo,


> 1) Why doesn't fetchpop use javamail API?  I have hacked a version that
> does, and it can be used for pop, imap, nntp or any other javamail
> transport relatively easily?

It doesn't use JavaMail because I was fiddling around with
jakarta-commons/sandbox/net building tests and realised I could quickly add
fetch pop to satisfy the regular requests we get for this functionality.

> 2) Is there a reason why fetchpop does a send instead of a store?

For the resaons stated by Serge & Noel I wanted fetched mail to be treated
the same as SMTP delived mail, to gain the advantages of the mailet
pipeline. Although recent comments suggest that short-circuiting fetched
mail straight to a single user might be a worthwhile option.

> 3) Is anyone else working on something like this or interested in this
> at all?

Fetch pop was added as a by-product of other stuff I was looking at, there
is a demand for it, AFAIK no-one has big plans for it beyond tidying up some
recently raised issues. If you want to look at altering/enhancing it go
right ahead, I'm sure it will be worthwhile.

d.

>
> Thank you in advance,
>
> -LeoD
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


New to the list..

Posted by "Leo A. D'angelo" <ld...@mac.com>.
Hello All,

I thought I would introduce myself to the development list and ask a 
couple of questions.

I have been playing around with james for a couple of months with the 
intention of adding pgp and s/mime encryption/decryption mailet's 
(among other things).  In the process of preparing to develop these 
mailet's (my intention is to use JCE) I have been playing with 
fetchpop.  I have a couple of questions about fetchpop specifically 
that I would like to pose to the group:

1) Why doesn't fetchpop use javamail API?  I have hacked a version that 
does, and it can be used for pop, imap, nntp or any other javamail 
transport relatively easily?
2) Is there a reason why fetchpop does a send instead of a store?
3) Is anyone else working on something like this or interested in this 
at all?

Thank you in advance,

-LeoD

RE: [V3]Mailet chaining

Posted by Danny Angus <da...@apache.org>.
surely you can simply put remote delivery in its own processor and change
the state of mail in your mailet so that they are placed in this processor
immediately after leaving your mailet, where they will be opend by remoted
delivery and delivered or spooled for retrying.

If this isn't enough why not?

nextly..

in Jamesv3 you will be able to store mail directly in the outgoing spool
where it can be picked up by remote delivery.

I'd also rather know what improvements you would like than how you would
like to achieve them.

d.


> -----Original Message-----
> From: Jason Webb [mailto:jw@inovem.com]
> Sent: 14 January 2003 10:33
> To: 'James Developers List'
> Subject: [V3]Mailet chaining
>
>
> I can't remember if this has been discussed before, but...
>
> We would really like to able to chain mailets together in code.
> The main reason for this is so that our MLM code can directly call the
> remote delivery mailet (as I know that all mails WILL be outward bound).
> This may seem like an isolated example, so I'd be interested if anyone
> else can come up with other uses. Remember I am not trying to break the
> current pipeline, I'm more wanting to increase performance by
> short-circuiting mail delivery.
>
> -- Jason
>
> P.S. I believe servlets already do this (not quite sure though)
>
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>