You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Charlie Hubbard <ch...@gmail.com> on 2011/06/23 04:39:57 UTC

Advice on Integrating James

I'd like to integrate James server into an existing program I have that
archives email.  After reading the quickstart guide I'm beginning to see
there is a lot to James.  I'm not sure I need everything it offers.  For
example, I'll be providing my own persistence layer, I won't be sending
email out from this James, users aren't needed.  At first pop3, imap, lmtp,
etc aren't necessarily needed in the beginning.

Where would I start to peel these layers apart?  Is there a simple way to
scale back to the most basic features and build up features as I need them?

What does is libc6 needed for exactly?  If I have to run on windows or other
platforms is there a replacement?

Could I embed James within my own application so that it runs inside my own
process.  My application doesn't require a lot of memory except when
processing large emails which I expect not to need since James will be
taking care of part of that.

Any advice on where to start would be very helpful.

Thanks
Charlie

Re: Advice on Integrating James

Posted by Eric Charles <er...@apache.org>.
Hi,

If you need SMTP, then you need all except pop3 and imap.
I would start from a plain james server removing unneeded dependencies 
from [1].

Using spring definitions in [2], you should be able to embed in any 
spring application.

For now, we load the XML configuration files [3] from disk, not from 
classpath. You will have to place these configuration files at the right 
path (the "./../conf/") according to your application path.

Tks

[1] 
https://svn.apache.org/repos/asf/james/server/trunk/container-spring/pom.xml 


[2] 
https://svn.apache.org/repos/asf/james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml

[3] http://james.apache.org/server/3/config.html


On 23/06/11 15:47, Charlie Hubbard wrote:
> Eric,
>
> Thanks for the quick response.  I DO need STMP, but not pop3 or imap at the
> moment.
>
> Should I use a Mailet to process the email or implement my own persistence
> layer?  A couple of advantages I could see with the persistence layer would
> be if I wanted to add pop3 or imap protocols in later I could as my
> persistence layer would serve as the back plane for those requests.
>
> Is the Spring architecture used in the 3.0M2 release?  I was looking at the
> configs last night.
>
> Thanks,
> Charlie
>
> On Wed, Jun 22, 2011 at 11:16 PM, Eric Charles<er...@apache.org>  wrote:
>
>> Hi Charlie,
>>
>> See comments inline
>>
>>
>> On 23/06/11 04:39, Charlie Hubbard wrote:
>>
>>> I'd like to integrate James server into an existing program I have that
>>> archives email.  After reading the quickstart guide I'm beginning to see
>>> there is a lot to James.  I'm not sure I need everything it offers.  For
>>> example, I'll be providing my own persistence layer, I won't be sending
>>> email out from this James, users aren't needed.  At first pop3, imap,
>>> lmtp,
>>> etc aren't necessarily needed in the beginning.
>>>
>>> Where would I start to peel these layers apart?  Is there a simple way to
>>> scale back to the most basic features and build up features as I need
>>> them?
>>>
>>>
>> If you only need to archive (no stmp/pop3/imap), then the mailbox
>> subproject is enough for you: http://james.apache.org/**mailbox<http://james.apache.org/mailbox>
>> .
>>
>>
>>   What does is libc6 needed for exactly?  If I have to run on windows or
>>> other
>>> platforms is there a replacement?
>>>
>>>
>> the libc6 is needed on linux to allow to run james as a "daemon". It is not
>> needed on windows.
>>
>>
>>   Could I embed James within my own application so that it runs inside my
>>> own
>>> process.  My application doesn't require a lot of memory except when
>>> processing large emails which I expect not to need since James will be
>>> taking care of part of that.
>>>
>>>
>> If you are ready to work with unstable features, you can checkout the trunk
>> and try the spring module. It allows you to embed easily. There will be soon
>> a guice module.
>> If you don't want to depend on a dependency injection framwork, you will
>> have to understand how to wire the objects and do the hard work your self :)
>>
>> Otherwise, use the 0.2 release, or wait a few days for the 0.3.
>>
>>
>>   Any advice on where to start would be very helpful.
>>>
>>>
>> Hope this helps.
>>
>>   Thanks
>>> Charlie
>>>
>>>
>> --
>> Eric
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: server-user-unsubscribe@james.**apache.org<se...@james.apache.org>
>> For additional commands, e-mail: server-user-help@james.apache.**org<se...@james.apache.org>
>>
>>
>

-- 
Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Advice on Integrating James

Posted by Charlie Hubbard <ch...@gmail.com>.
Eric,

Thanks for the quick response.  I DO need STMP, but not pop3 or imap at the
moment.

Should I use a Mailet to process the email or implement my own persistence
layer?  A couple of advantages I could see with the persistence layer would
be if I wanted to add pop3 or imap protocols in later I could as my
persistence layer would serve as the back plane for those requests.

Is the Spring architecture used in the 3.0M2 release?  I was looking at the
configs last night.

Thanks,
Charlie

On Wed, Jun 22, 2011 at 11:16 PM, Eric Charles <er...@apache.org> wrote:

> Hi Charlie,
>
> See comments inline
>
>
> On 23/06/11 04:39, Charlie Hubbard wrote:
>
>> I'd like to integrate James server into an existing program I have that
>> archives email.  After reading the quickstart guide I'm beginning to see
>> there is a lot to James.  I'm not sure I need everything it offers.  For
>> example, I'll be providing my own persistence layer, I won't be sending
>> email out from this James, users aren't needed.  At first pop3, imap,
>> lmtp,
>> etc aren't necessarily needed in the beginning.
>>
>> Where would I start to peel these layers apart?  Is there a simple way to
>> scale back to the most basic features and build up features as I need
>> them?
>>
>>
> If you only need to archive (no stmp/pop3/imap), then the mailbox
> subproject is enough for you: http://james.apache.org/**mailbox<http://james.apache.org/mailbox>
> .
>
>
>  What does is libc6 needed for exactly?  If I have to run on windows or
>> other
>> platforms is there a replacement?
>>
>>
> the libc6 is needed on linux to allow to run james as a "daemon". It is not
> needed on windows.
>
>
>  Could I embed James within my own application so that it runs inside my
>> own
>> process.  My application doesn't require a lot of memory except when
>> processing large emails which I expect not to need since James will be
>> taking care of part of that.
>>
>>
> If you are ready to work with unstable features, you can checkout the trunk
> and try the spring module. It allows you to embed easily. There will be soon
> a guice module.
> If you don't want to depend on a dependency injection framwork, you will
> have to understand how to wire the objects and do the hard work your self :)
>
> Otherwise, use the 0.2 release, or wait a few days for the 0.3.
>
>
>  Any advice on where to start would be very helpful.
>>
>>
> Hope this helps.
>
>  Thanks
>> Charlie
>>
>>
> --
> Eric
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: server-user-unsubscribe@james.**apache.org<se...@james.apache.org>
> For additional commands, e-mail: server-user-help@james.apache.**org<se...@james.apache.org>
>
>

Re: Advice on Integrating James

Posted by Eric Charles <er...@apache.org>.
Hi Charlie,

See comments inline

On 23/06/11 04:39, Charlie Hubbard wrote:
> I'd like to integrate James server into an existing program I have that
> archives email.  After reading the quickstart guide I'm beginning to see
> there is a lot to James.  I'm not sure I need everything it offers.  For
> example, I'll be providing my own persistence layer, I won't be sending
> email out from this James, users aren't needed.  At first pop3, imap, lmtp,
> etc aren't necessarily needed in the beginning.
>
> Where would I start to peel these layers apart?  Is there a simple way to
> scale back to the most basic features and build up features as I need them?
>

If you only need to archive (no stmp/pop3/imap), then the mailbox 
subproject is enough for you: http://james.apache.org/mailbox.

> What does is libc6 needed for exactly?  If I have to run on windows or other
> platforms is there a replacement?
>

the libc6 is needed on linux to allow to run james as a "daemon". It is 
not needed on windows.

> Could I embed James within my own application so that it runs inside my own
> process.  My application doesn't require a lot of memory except when
> processing large emails which I expect not to need since James will be
> taking care of part of that.
>

If you are ready to work with unstable features, you can checkout the 
trunk and try the spring module. It allows you to embed easily. There 
will be soon a guice module.
If you don't want to depend on a dependency injection framwork, you will 
have to understand how to wire the objects and do the hard work your self :)

Otherwise, use the 0.2 release, or wait a few days for the 0.3.

> Any advice on where to start would be very helpful.
>

Hope this helps.

> Thanks
> Charlie
>

-- 
Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org