   =========================================================================
   ==  NOTICE file for use with the Apache License, Version 2.0,  ==
   =========================================================================

   Apache JAMES Postage
   Copyright 2006-2008 The Apache Software Foundation

   This product includes software developed at
   The Apache Software Foundation (http://www.apache.org/).

   This product also includes software developed by :

   - Doug Lea / State University of New York / Sun Microsystem
     (http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html)
     [ concurrent.jar / stage/concurrent/jars/concurrent.LICENSE ]

   - Sun Microsystems (http://java.sun.com/)
     [ activation-1.1.1.jar | stage/javax.activation/jars/activation.LICENSE]
     [ mail-1.4.1.jar | stage/javax.mail/jars/mail.LICENSE ]

   - the dnsjava project (http://www.dnsjava.org/)
     [ dnsjava-2.0.6.jar | stage/dnsjava/jars/dnsjava.LICENSE ]

   Please read the LICENSE.txt file present in the root directory of
   this distribution.   
