JAMES - Java Apache Mail Enterprise Server

James

Download

Guides

Get Involved {web}

Jakarta Essentials {web}

Related Projects {web}

Version 2.0a2

Released 1 December 2001

  • (DA) (update) Fixed POP3 message size bug that prevented retrieval
  • (SK) (code) Added Mordred database connection pooling. It is the marriage of Town's db pooling code and Excalibur's configuration.
  • (SK) (update) Changed MailImpl.getSize() to getMessageSize() and from int to long.
  • (SK) (docs) Small updates to documentation
  • (SK) (code) Added JDBCListserv, straight JDBC implementation of old TownListserv that extends GenericListserv
  • (SK) (update) Patched bug in GenericListserv for when subject was null
  • (SK) (update) Got mailets/matchers to load from something besides james.bar
  • (SK) (code) Added scheduler notification during SMTP DATA reception and POP3 RETR sending so the connection handler doesn't time out connection while data is being transfered.
  • (SK) (code) Support <gatewayPort> setting on RemoteDelivery to send all messages to a non-port 25 SMTP server. Only makes sense when <gateway> is also set.


Version 2.0a1

Released 26 October 2001

  • (CB,*) (update) Moved to Avalon snapshot of 9-25-2001.
  • (HB) (code) Added NNTP service.
  • (SK) (update) Greatly improved multi-threading support for repositories and SMTP reception.
  • (JB) (code) SMTP AUTH support
  • (SK) (update) Support null senders, i.e., MAIL RCPT: <>.
  • (DD,SK) (update) Converted Town mail and user repositories to straight JDBC ones, using Excalibur connection pooling and configurable SQL statements per DB.
  • (SK) (update) Messages are no longer loaded until absolutely necessary.
  • (GB) (update) Fixed exception being thrown on MailAddress parsing.
  • (CB) (update) Rebuilt CVS tree after hack and moved src to src/java.
  • (DA) (code) New extensible, flexible Redirect mailet that handles notifications and forwarding.
  • (SK) (code) JDBC Alias mailet.
  • (various) (docs) Added a whole bunch of related RFCs to the webdocs.
  • (DA) (update) Add date to bounced emails.
  • (HB) (update) Updated DNS library and started process to move it to Avalon service.
  • (various) (update) More checks to fix "stuck file" problem in Avalon mail repository.
  • (MP) (code) Limit the size of a message on reception (rather than waiting until processors).
  • (SK) (update) Fixed dot-stuffing in SMTP reception/delivery.
  • (SK) (update) Improved how Return-Path and Received headers are generated during SMTP reception.
  • (SK) (update) More efficient remote delivery code, better error messages, and gateway parameter to route all messages to a single target.
  • (DA) (update) Fixed timezone bug in RFC822DateFormat
  • (MP) (update) Patch to support username@[yyy.yyy.yyy.yyy] addresses
  • (GB) (update) Patch to fix size calculation from headers
  • (RS) (image) Contributed James logo
  • (SK) (update) Changed MailetException to extend MessagingException, and Mailet.init() throws MailetException.


Version 1.2.1

Released 13 December 2000

  • (SK,SR,CB) (update) Fix for "stuck file" problem in Avalon mail repository.
  • (SK) (design) Made usernames case insensitive on MailAddress
  • (SK) (code) Complete rewrite of processor code to send through Mail object through matchers and mailets. Design might be less efficient but easier to understand and more flexible for later improvements to API. Also no longer "loses" IP address and error message information when Mail object go from one processor/state to the next (ToProcessor changed as well now that processor works).
  • (SK) (update) Updated to JavaMail 1.2
  • (SK) (update) Changed instantiation of recipients on a Mail object to a Set (HashSet) whenever possible in preparation for the API having this change.
  • (IS) (code) Added UsersTownRepository to let you maintain user lists in a database
  • (SR) (update) In POP3 handler, properly includes headers in calculating size of messages.
  • (SK) (update) Removed "synchronized" attribute on many methods in town and file spool repositories. Should significantly boost performance and multithreaded capabilities.
  • (SK) (code) Optimization of town mail repository, introduction of JamesMimeMessageInputStream and the James MimeMessage. Should significantly reduce the number of unnecessary parses or saves on MimeMessages in server.
  • (SR) (update) Properly calculates hashCode for MailAddress so duplicates do not exist in Hashmaps
  • (SR) (update) Hardcoded serialVerUID on MailAddress and MailImpl to that of James 1.2 release so future releases can continue to use mail stored in earlier releases.
  • (IS) (update) Added ability on NotifySender and NotifyPostmaster to attach informative notice.
  • (SK) (update) GenericListservManager now requires existsAddress() which it uses to prevent someone already on the list from subscribing or someone not on the list from removing themselves.
  • (SK) (update) Changed User repository for file to *always* end the destination with a File.separator. Otherwise if people mixed usage of this, it would crash the repositories with confusing error messages. Child repositories were already properly created with a terminating File.separator.
  • (SK) (code) New matcher: IsSingleRecipient
  • (SK) (code) Added spam blacklist checking for 3 spam blacklists that make this available in a simple DNS lookup check. All free services through mail-abuse.org. Added to default configuration in JAMES.conf.xml
  • (PU) (code) Added first testing program. This would recreate file stuck problem. Would be good to build collection of testing utilities in this new package.
  • (SK) (docs) Documented what all the jars are in the lib directory (what they're called, where they're from)


Version 1.2

Released 16 October 2000

  • (SK) (design) Abstracted mailet API to be Avalon (implementation) independent
  • (CB) (code) Abstracted mail repository in JAMES/Avalon to allow more varied implementations.
  • (SK) (code) Database implementations of mail repositories
  • (SK) (code) Changed remote delivery to use an outgoing spool with a specified number of delivery threads
  • (CB) (code) Experimental implementation of LDAP user manager
  • (SK) (update) Reworked mailets and matchers to fit new API and added many more classes
  • (CB, SK) (update) Fixed some bugs in POP3 server
  • (CB) (update) Added full TLS support in POP3 (POP3S)
  • (SK) (update) Fixed sorting of MX records so it attempts delivery in correct order
  • (SK) (update) Changed remote manager to not allow a login if an admin account's password is empty, and sets the root account's password empty by default (so you have to set one... prevents someone from knowing the password to your system out of the box)


Version 1.1

Release 27 July 2000

  • (??) (code) Unknown changes
  • (SK) (code) Made DNS functionality a separate block


Version 1.0

Released 26 February 2000

  • (SK, FB) (code) Added DNS stuff to remote delivery.
  • (FB) (code) Add some autodetect support for easier configuration.
  • (FB) (code) Add support for Mailet.
  • (FB) (update) Add Mailet interface draft.


Version 0.9.5

Released early 2000

  • (FB) (update) Split the SMTP Server in a protocol handler and a MailServer available to all Avalon blocks.
  • (FB) (update) Tune MessageContainer class.


Version 0.9-dev

Unknown release date

  • (FB) (update) Based on much code from Serge Knystautas first implementation of JAMES on top of the Avalon framework.


Contributors

Special thanks go to the following people for their contribution to this project.

  • Federico Barbieri, scoobie at systemy.it (FB)
  • Serge Knystautas, sergek at lokitech.com (SK)
  • Charles Benett, charles at benett1.demon.co.uk (CB)
  • Stuart Roebuck, stuart.roebuck at adolos.co.uk (SR)
  • Ivan Seskar, iseskar at upsideweb.com (IS)
  • Prasanna Uppaladadium, prasanna at vayusphere.com (PU)
  • Gabriel Bucher, gabriel.bucher at razor.ch (GB)
  • Danny Angus, danny at thought.co.uk (DA)
  • Darrell DeBoer, ? (DD)
  • Harmeet Bedi, harmeet at kodemuse.com (HB)
  • Matthew Pangaro, mattp at lokitech.com (MP)
  • Jason Borden, jborden at javasense.com (JB)
  • Randy Stanard, rstanard at lokitech.com (RS)

We also appreciate always documentation, feedback, and bug reports!



Copyright © 1999-2002, Apache Software Foundation