300 likes | 552 Views
Apache James. The complete email application platform Danny Angus. What is James?. Modular An SMTP Server A POP3 Server An email application server An IMAP server An NNTP Server Mail Storage manager. What do you get?. Container. Distribution Embedding Modular Flexible Options.
E N D
Apache James The complete email application platform Danny Angus
What is James? • Modular • An SMTP Server • A POP3 Server • An email application server • An IMAP server • An NNTP Server • Mail Storage manager Apache James - The complete email application platform
What do you get? Apache James - The complete email application platform
Container • Distribution • Embedding • Modular • Flexible • Options Apache James - The complete email application platform
Server • Ready to use • Simple to configure • Flexible • Scaleable • High Uptimes Apache James - The complete email application platform
SMTP • Handler Chain • Command handlers • Extend - ESMTP • Modify – R&D • Fast Fail – Don’t waste time on Spam • TLS • SMTP AUTH • Bind to IP Apache James - The complete email application platform
Mailet • Email applications • JavaMail • Provided Mailets • Remote & local delivery • Mailing lists • AV/A-Spam • Gateway to other transports • And Loads More Apache James - The complete email application platform
Persistence • Derby – by default • File • Mbox – for archives • Maildir • Dbfile • Rdbms syntax- • SQL Server • Oracle • Mysql • Postgres • DB2 • …and more… add your favourite. Apache James - The complete email application platform
POP3 • Host v Vhost • TLS • Bind Apache James - The complete email application platform
IMAP • At Last we’re getting there • Not bullet proof … yet • Module • TLS • Bind Apache James - The complete email application platform
NNTP • Independent • Great for Workgroups • Auth • No mail->news Apache James - The complete email application platform
Fetch Mail • Blend Your Channels • Java Mail • IMAP • POP3 • Schedule • Fetched mail is 1st class citizen • Re-route mail from logical accounts to actual users or lists • Manage virtual domains Apache James - The complete email application platform
What Else We Have • Mail related Sub projects • (What did you expect?) Apache James - The complete email application platform
JSPF • 100% Java implementation of SPF • Passes the Open SPF Tests (openspf testsuite-2007.01) Apache James - The complete email application platform
Mime4j • Mime Parser • Mime is complex due to its open-ended nature • Mime is powerful due to its open-ended nature • Multipart Mime is recursive • Independent of JavaMail • Performance Apache James - The complete email application platform
JSieve • Sieve is a language that can be used to create filters for electronic mail. 100% Java Sieve implementation of RFC3028 Can be used to script James-Server. Apache James - The complete email application platform
Postage • Soak/Stress test mainly for James • Provides comprehensive metrics and benchmarks. • Compare: • Configurations • Deployment strategies • Hardware/environments Apache James - The complete email application platform
How can this all be used? • Easily • Quickly • To great effect • At low cost • (I would say that wouldn’t I) Apache James - The complete email application platform
Stand Alone • Out of the box, set some parameters • All you need for straightforward email • It Works™ - yes it does! Apache James - The complete email application platform
Distributed Use MX Priorities to manage high availability. 100% is possible. RDBMS for shared storage Responsibilities can be separated Apache James - The complete email application platform
Performant • Scale Horizontally • Divide and Protect • Integrate with your business systems Throughput depends on message size Administration – James doesn’t provide tooling James Can be made Highly Available Apache James - The complete email application platform
Integrated • Integrate • Use another container • JCA • OSGi • Spring • Geronimo Apache James - The complete email application platform
Extended • Add • Replace • Enhance • Remove • Protocols • Storage types • Configuration • Mailets • SMTP commands Apache James - The complete email application platform
Embeded • Use James modules • As much or as little as you want to • Extend everything • Reuse • Mailets • sieve scripts Apache James - The complete email application platform
Embeded • Lower level • Use our API’s • Independent Modules • Just what you need • Test bed • Be radical! • Reuse • Be modular! Apache James - The complete email application platform
What Next? • Mailet++ • 100% independent 100% useful • Annotations • JNDI • IMAP – the end in sight? • Alternative Distributions • Make your own! • JavaMail re-implement or re-write? Apache James - The complete email application platform
Questions? Danny Angusdanny@apache.org http://james.apache.org http://blog.killerbees.co.uk Or Google for: Detroit Derby Girls Swim the Atlantic Ocean