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 Bryan Jernigan <bj...@ideorlando.org> on 2002/12/05 14:09:08 UTC

Using James to eliminate polling and accept msgs to all external hosts on private lan

I have a fairly unique requirement to accept all email, to all existing 
users, destined to any one of thousands of known hosts.  I know all the 
recipient users and all recipient hosts.  I'm currently accomplishing 
this on Solaris by:
  Creating all users on the local box.
  Seeding DNS so all fully qualified hosts authoritatively resolve to my IP.
  Configuring sendmail to accept email for all hosts (using sendmail.cw 
file containing all hosts).
  Using JavaMail to poll POP3 user inbox for new messages every 3 seconds.

The problem is the polling, it is inefficient and generates errors 
sometimes when multiple monitoring threads check mail.
We're also porting to Windows NT/2k.

I am interested in using James to satisfy my requirements with the 
following goals:
   Eliminate polling by writing a Mailet to will handle the mail as it 
arrives.  Listener architecture rather than polling.
   It must be fast, Mailet must get email when it arrives, no 60 second 
delays etc.
   Thread safe.
   Accept email destined to any know user at any known host.
   Run on Linux, Windows, and Solaris.
   No native code, all Java.
   Prefer that all O/S implementations use the same config files.
   Be as fast or faster than the above implementation, which should be 
true if there's no polling involved.

Is this possible with James?

Thank You,
Bryan


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


RE: Using James to eliminate polling and accept msgs to all externalhosts on private lan

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

Once you have defined all local hosts, just use:

	<mailet match="HostIsLocal" class="MyCustomMailet" />

That should do it.  You could use match="All" if you are sure that you won't
get spam, or the mailet will filter out messages that it doesn't want.

	--- Noel


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


Re: Using James to eliminate polling and accept msgs to all externalhosts on private lan

Posted by Bryan Jernigan <bj...@ideorlando.org>.
Our load will probably be maxed at 20/second.  We don't have a store, 
actually we will directly consume the emails and post the end result to 
a Simulation.

Thanks to all who replied.

Danny Angus wrote:

>Bryan,
>
>  
>
>>   Accept email destined to any know user at any known host.
>>    
>>
>
>If you configure your mailet at the top of the root processor it will indeed see every single mail.
>There will be no delay passing this mail to the mailet.
>
>It may or may not be faster than your polling solution, James slows down with load, how much mail are you handling?
>
>d.
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>  
>


RE: Using James to eliminate polling and accept msgs to all externalhosts on private lan

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

>    Accept email destined to any know user at any known host.

If you configure your mailet at the top of the root processor it will indeed see every single mail.
There will be no delay passing this mail to the mailet.

It may or may not be faster than your polling solution, James slows down with load, how much mail are you handling?

d.


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


RE: Using James to eliminate polling and accept msgs to all external hosts on private lan

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

It should be do-able.  Are you wanting to forward that e-mail, or store it
locally?  Either way, your desired configuration sounds like it is similar
to my current one, except that it is scaled much larger.

FWIW, my current tests with James on a 400mhz Celeron (linux, mysql for the
store) run about 2200 messages per minute with the IBM JVM.  Using the
database results in a major performance improvement over the file system
store for my tests.

	--- Noel


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