최신 게시글(JAVA)
2022.06.06 / 24:04

JWebMail v1.0.1 - java web mail client

탁쳐
추천 수 54

User's Guide for JWebMail v1.0.1*

$Revision: 140 $

I. Contents

  1. Contents
  2. What is JWebMail
  3. Installation
  4. Configuration
  5. User Authentication
  6. Usage
  7. Different Languages, Translating JWebMail
  8. Notes
  9. License
  10. Contributed Documentation
  11. Credits

Top of section "Contents"

II. What is JWebMail

JWebMail is a web mail server. Web mail allows an organization to provide a WWW interface for each user to his mailbox(es). Unlike Yahoo Mail, Hotmail, and Gmail, JWebMail presents a web interface to traditional email accounts which you or somebody else provide. The target email account servers may be restricted by JWebMail.

By virtue of JWebMail being a pure Java appplication, it has excellent portability, scalability, and performance. We have designed JWebMail so that it works out-of-the-box for a home LAN setup by just dropping the .war file into your servlet container (which includes all modern application servers).

2.1. Use Cases

Common use-cases

  • Serve JWebMail on the same host that your traditional email server runs on, to provide web access in addition to dedicated email client access.
  • Run JWebMail to provide members Internet web access to their email accounts on an internal mail server.
  • Run a single JWebMail server to allow for a single, unified interface to all of the email accounts for your users, whether the target email accounts are internal organizational accounts and/or external accounts.

Top of section "Use Cases"


2.2. Features

Features include:

  • Product is independent of the target email account provider(s).
  • Gives a user full access to his/her IMAP mailbox through a simple-to-use WWW interface
  • Supports multiple folders on multiple hosts, depending on mail protocol used (IMAP supports different folders on the same host, POP doesn't)
  • Supports SSL protocols imaps and pop3s.
  • Sophisticated folder management system
  • 100% HTML 3.2/4.0 output, no Java on the Client side
  • Supports multiple languages, configurable for each user
  • Flexible template system to personalize look and feel and write new language files using XML and XSL
  • Runs as a web application in a Java servlet container
  • Improved session management keeps mail connections alive
  • Performance, scalability, and portability of a pure Java application
  • Usage of JavaMail-API ensures compatibility to many mail standards
  • Open Source distribution allows easy customization
  • Web-based administration interface
  • Support for multiple virtual user domains
  • Easily add new features through the JWebMail modular plugin concept (support for dependencies, hooking into URLs, etc)
  • Application/Data separation allows for redeployments and upgrades without losing any configuration or user data.

Top of section "Features"


Top of section "What is JWebMail"

III. Installation

3.1. Introduction

Top of section "Introduction"


3.2. Requirements

For running JWebMail you need the following software:

  • A mailserver for sending (SMTP) and receiving (IMAP) mails; by default, JWebMail will use localhost for both
  • A Java servlet container which supports the 2.4 servlet spec, and runs on a Java 1.5 or greater JVM (either JRE or JDK). Anything from a stripped down servlet-container like Tomcat, to a J2EE application server like JBoss or WebSphere will work.
  • Your servlet container needs modern versions of the following libraries installed:

If you wish to build a custom app, or develop, you will also need a standalone Java JDK 1.5 or later, and Ant 1.7 or later, as described below. Any or no Java IDE will work.

Top of section "Requirements"


3.3. Installing

There are separate sections below, depending on whether you want to just run JWebMail, or to build it on the command-line or with an IDE.

3.3.1. Installing Application (binary install)

This is the preferred installation method if you just want to run JWebMail, and have no need to customize the application iteself.

This installation is very simple:

Install jwebmail.war as you would install any War file.

With Tomcat, the easiest way is to use the Manager webapp, which serves http://localhost:8080/manager/html by default. Log in and deploy the war using the Gui (you can see or add manager accounts in the file $CATALINA_BASE/config/tomcat-users.xml).

For every application server that I know of, if you have auto-deploy on (usually the default mode) you can become the app-server owner (the account under which the server process(es) run), and just copy the war file into the webapp landing directory. If you don't have access to that account, see your app server docs, because the war file permission requirements vary (if you have superuser privileges, you can always change the file to be owned by the app-server owner). Rest assured, your app server has several easy ways to deploy war files.

JWebMail is then available by visiting http://yourhost:PORT/jwebmail with a web browser.

Please don't forget to visit the administration interface first. You can access it by browsing http://yourhost:PORT/jwebmail/admin. Initial password is Secret.

Top of section "Installing Application (binary install)"

3.3.2. Build and Install from source

JWebMail is compiled by using the Ant build-system. You will need Ant version 1.7 or greater and Java JDK 1.5 or greater to build JWebMail.

You can obtain the JWebMail source code by extracing a source code distribution package, or by exporting or checking out our code from SourceForge. You can get our distro packages at https://sourceforge.net/project/showfiles.php?group_id=2056. You can use any Subversion client to get our trunk code from https://jwebmail.svn.sourceforge.net/svnroot/jwebmail/trunk.

The following steps are required (for a quick-start):

  1. Set your JAVA_HOME environment variable (to the directory where the JDK is installed)
  2. Make sure that the bin directory of your Ant installation is in your search path. Run "ant -v" to verify.
  3. You will need Internet access the first time you run the build, so that build process can download the needed third party libraries (automatically).
  4. Just run 'ant' to build a war file in subdirectory dist. If you don't have an Ivy jar file in your CLASSPATH, the Ant command above will display the simple command that you can copy-and-paste to your command line to satisfy it.
    Note: An error message like ...doesn't support the nested "matches" element... means you need to upgrade Ant to 1.7 or later.
  5. Deploy the file at dist/jwebmail.jar to your servlet container, as explained in the previous section. Alternatively, you set Ant property exploded.dir and deploy the exploded webapp to a live deployment directory. Since you are building software, we figure you are handy enough to figure this out without further instruction from us.

Run "ant -p" for further possible targets that may be used. To customize any Ant properties, create a standard Java properties file in this directory with name local.properties. Most developers will want to use the targets gen-guide and javadoc to build documentation. (They get written to the build/apidocs and doc subdirectories respectively).

Unless the version of the User's Guide you are reading is out-of-date, you probably won't need this, but... The gen-guide task requires the program "xsltproc". You have a few alternatives to access a User's Guide if you don't have xsltproc.

  • Read it online at http://jwebmail.sourceforge.net/jwebmail-guide.html
  • Use your own XSLT processor program to generate jwebmail-guide.html file from the guide.* artifacts in the doc-src directory.
  • Download the desired version of the binary distribution of JWebMail. These include a pre-build User's Guide.

The build system uses Apache Ivy to fetch third party libraries. The configuration allows you to change the library repository location by editing local.properties and ivy-settings.xml. See http://ant.apache.org/ivy/ for details about Apache Ivy.

Code contributors must read and follow the coding conventions listed in the conventions.txt file located in the doc subdirectory. It's important to not submit files which should not be change-controlled, and to set the right Subversion file properties. The easiest way to accomplish this is to put the supplied file samples/config-svn.txt into place at $HOME/.subversion/config on UNIX-like OSes, or wherever your Subversion client wants it on Windows. When you submit code, always add a meaningful subversion commit message which very briefly describes what you have changed, added, or removed.

Top of section "Build and Install from source"

3.3.3. IDE Setup

At this point in time, we only have the JWebMail pre-configured for Eclipse. Any developer who has a strong preference for a different IDE should be capable of getting things working in it. If you do this in a way to share the configuration in a fool-proof manner, like we do for Eclipse, please contact me to get these improvements into the code baseline.

Here are the steps to start from 0 and get JWebMail building. Most developers will skip many of these steps because they probably already have some of the components in place.

  1. Install a 1.5 or later JDK and set a Windows env. variable for JAVA_HOME, with value of the absolute path to your JDK installation root. You can download a JDK from Sun.
  2. Install or have deployment access to a 2.4-spec-compliant servlet container like Tomcat version 6. (Could be installed on a different computer).
  3. Install a JDT variant of Eclipse, version 3.4.1 or later. I prefer the plain Java package, because it doesn't include tons of stuff that you will never use, like the much larger distributions have. After you extract the distribution, execute the startup binary once with the -initialize switch.
  4. To install Subversive, the Subversion client plugin, use pulldown menu Help / Software Updates and click the Install button. Bring up a web browser at the same time and browse to http://www.polarion.com/products/svn/subversive.php?src=eclipseproject. Back in Eclipse, click the Available Software tab and Add the two "required" URLs listed in the "Latest Release" section of that web page. Select the latest available release of each of the four following items and install them.
    • SVN Team Provider
    • JDT Ignore Extensions
    • Connectors / Subversive SVN Connectors
    • Connectors / SVNKit
    When done, you will be prompted to restart Eclipse. Do so.
  5. After Eclipse restarts, use pulldown menu File / Import and import from Subversion. Enter URL of https://jwebmail.svn.sourceforge.net/svnroot/jwebmail/trunk and no other detals (unless you're a team developer). If it craps out, restart Eclipse and retry... or it could be a bad Internet connection to Sourceforge.
  6. Get rid of any Eclipse views that you don't need. Use pulldown Window / Show View / Ant. Click the target icon in the Ant view toolbar to hide internal Ant targets. Right click in the view and add the Ant build file build.xml from the root directory of the project. At this point all of the listed Ant targets should work, except for gen-guide and all, if you don't have xsltproc installed. Double click on jwebmail to execute the default target, which builds the war file. You will probably also want to execute the target javadoc to build the JWebMail API spec docs with entry point of build/apidocs/index.html.
  7. Now you just need to get IDE compilation working, and cooperating with the Ant build. Go to Preferences / General / Workspace to turn Build automatically off and Refresh and Save on.
  8. Use pulldown Project / Clean... to clean just the jwebmail project... and turn off the nasty Start a build immediately button (definitely a bad thing for shared Ant setups).
  9. Execute the ant target eclipse-setup and set the build variable as you instructed in the console output.
  10. Anybody who will be contributing code to this project, or to any other project with professional standards should read the next section too.

Top of section "IDE Setup"Top of section "Installing"


3.4. IDE Code Contributors

People contributing code to the JWebMail project must create code that isn't difficult for other developers to work with, and must commit resources in a way that doesn't clobber other workers. Even if you aren't going to commit code to our project, you're welcome to use these procedures if you just like developing like a professional, or if you are sharing with somebody else.

  1. Even though you are a graphical developer, you need to read and understand the development rules above in the Build and Install from source section bove.
  2. Back to eclipse. A general tip is to be liberal with hitting Apply and OK when changing Eclipse preferences. It's much better now than with older versions, but Eclipse is known to sometimes not get your changes. If that happens, just repeat and make sure you apply. Back to the task at hand, go to Windows / Preferences / Team / SVN / Properties Configuration and Import the file samples/config-svn.txt. This file has specifically been massaged to do what it needs to do while accommodating several serious parsing bugs in the Eclipse Subversive plugin.
  3. The remaining items all involve importing Eclipse XML Java style profiles. Window / Preferences / Java / Code Style First, go to the Clean Up and Import the file samples/cleanup-ecpro.xml.
  4. Go to the Formatter and Import the file samples/formatter-ecpro.xml. Note that this formatter disabled word-wrapping for Java files, because Eclipse does a truly terrible job at it. It doesn't even enforce the rules as it explains and exemplifies them. Sorry to say, but after running Eclipse's code formatter, you'll need to apply word-wrapping manually (according to doc/conventions.txt. (The formatter works perfectly well for Javadoc and non-Javadoc comments).
  5. Finally, go to Code Templates, but this time don't load the profile at the global level. That's because, whereas the other settings are good for any Java project, these templates may not be appropriate for other Java projects that you may work on in the same Eclipse workspace. The only known issues with the code templates is that they will insert useless blank Javadoc lines like " *" if there are no tags for a method, and it will insert a blank line after {'s and before }'s.
  6. Click on the Configure Project Specific Settings.... Select the jwebmail project and click OK. Click the Enable project specific settings checkbox. Import the file samples/codetemplates-ecpro.xml.
  7. In the upper tree, select Comments / Types and hit the Edit... button. (IMO it's rather counterintuitive that the lower box there is not an editable box-- you must hit the Edit... button to edit. Change the text "Your Name Here" to your name, spelled out and capitalized like that.
  8. Before exiting the Properties for jwebmail... screen, make sure to check the Automatically add comments... button and click the Apply and OK buttons.

Top of section "IDE Code Contributors"


3.5. Logging setup

Webapp logging is best administered at the container level. Most servlet containers were designed to work this way, and many technology companies expend much effort to defeat Classloader design and manage logging with delivered application artifacts. Remember that logging settings are a runtime consideration which should be modifiable after deployment by operations personnel. JWebMail is exceptional in that it facilitates logging

Webapp bundles just Apache Commons Logging. Commons Logging provides the front end for logging, where the JWebMail application sends log messages. Your servlet container will connect these generated messages to a logging back end to write log files, database records, or emails from them. If you have a straight-forward servlet container, and you have not added a logging product to it, then Commons Logging will also handle the back end in the container space, just logging to the console or stdout/stderr log with default settings. But it is very easy to improve on that. Some application servers have logging management utilities, and you can use them to pipe the JWebMail log entries to destinations using Gui tools or text files. You'll have to see your App Server documentation about these tools. Otherwise, you can put text files in container-level classloader directories to easily set up text, HTML, and even email-alert logging.

I will explain how to set up really nice JWebMail logs using Log4J as the back end (container-side) logging product on Tomcat. In my experience, everybody is satisfied with Log4j. The procedure is very much the same to use another logging back end product (see the Commons Logging documentation about how to do it). The setup procedure is the same for other servlet containers (that don't force their logging management system on you), except you just need to find out where the system classpath directories are (or how to add them).

Container logging setup with Log4j and Tomcat

  • The default container classpath directory on Tomcat 6.x is CATALINA_HOME/lib by default. I.e., the "lib" subdirectory of the Tomcat installation root directory. You can put both Jar files and in .class files (in package directory trees) into it. (You can add other classpath directories by changing the setting common.loader in the file conf/catalina.properties).
  • Copy a recent version of the file log4j.jar into the servlet container classpath directory.
  • Copy a recent version of the file admc-log4j.jar into the servlet container classpath directory.
  • Copy the file log4j.xml from the samples directory of your JWebMail distribution into the servlet container classpath directory.
  • Set the Java System Property logdir.common for Tomcat. Our log4j.xml file uses this variable to set the destination directory for log files independently of where Tomcat is started from. The best way to set Java System Properties for Tomcat is by setting the environmental variable CATALINA_OPTS. Where to set this variable depends on how you start Tomcat. If you use one of Tomcat's startup scripts directly on the command-line, then set the variable according to these samples. On Windows,

    CATALINA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxPermSize=256m -Dlogdir.common=$HOME/logs"

    On Unix,

    set CATALINA_OPTS=-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxPermSize=256m -Dlogdir.common=c:/logs

    The samples shows unrelated settings which are often useful. See the Tomcat docs for details about them.
  • Restart Tomcat.

If you prefer working with .properties files instead of .xml files, you can make a log4j.properties file instead. See the Log4j documentation about how to set up email alerts with the SMTP appender, how to log to a database, etc.

Be aware that the file (log4j.xml or log4j.properties) will control all messages which reach Log4j in the container space. If you have three other web apps deployed to this container without log4j jar files bundled, their log messages will also be filtered by this file.

Regardless of the container and logging product, if you manage logging at the container level without a Gui, the server classpath file will be the central point of application log management for the container. You can use package names to route messages to application-specific destinations (files, emails, etc.). The only tricky part of container-managed logs is routing messages initiated by classes common to more than one webapp. This isn't the place to discuss how to route such messages, but you generally don't have to worry about it if your app catches all throwables, and you have the same app deployed more than once-at-a-time.

Top of section "Logging setup"


Top of section "Installation"

IV. Configuration

JWebMail has an administration interface which allows you to perform several runtime administration tasks, including:

  • Changing all configuration settings
  • Adding, deleting or editing JWebMail virtual domains
  • Adding, deleting or editing JWebMail users
  • Getting status information

See the JWebMail Administrator Plugin section for details.

4.1. Storage Methods

By default, when you install the web application, a XML storage are will be set up under the servlet container owner's home directory. The location, and many other things can be changed, but data should not be written under the context root (appication deployment directory).

Note: A database storage option (JDBC) is planned, but implementation has not yet begun.

Top of section "Storage Methods"


4.2. JWebMail Administrator Plugin

4.2.1. Connecting

You can connect to the administration interface with your browser by simply entering the URL http(s)://webmail_server:port/jwebmail/admin in the address field of your browser. (set http/https and replace webmail_server and port with the correct values).

You'll be presented the administrator's login screen then. Enter the password there (on first startup the password is "Secret") and click the login button. You should see the system settings form then.

Top of section "Connecting"

4.2.2. System Settings

The first page gives you a list of JWebMail system variables and their values. You can change any variables you like (there is a short description for each of them) and then hit the submit button on the bottom of the page.

There are basically 4 kinds of input fields (although you will probably only recognize 2 on first look):

  • simple text input fields
  • drop down selects
  • integer input fields (look like text input fields)
  • password input fields (look like text input fields and show the encrypted password!)

All of these fields will check whether the value entered is (more or less) correct if you submit the form.

Note:Special note on password fields: The password is shown encrypted (Unix crypt()), but if you want to change your password, please enter it in plain text. It will then show up encrypted again, after you hit the submit button (but still be the password you just entered).

Top of section "System Settings"

4.2.3. JWebMail Virtual Domain Support

Virtual Domains in JWebMail are a quite new concept (thanks to Oswaldo E. Aguirre M. for the idea).

They basically provide the following features:

  • users are associated to a domain (even if you only have one domain)
  • each domain can have its own authentication host (if IMAP/POP authentication is used)
  • the administrator of JWebMail can impose certain restrictions on users of a JWebMail domain. e.g. you can restrict the hosts where users may connect to here
  • each domain has its own default host where the user's primary folder will be found
  • the user's default email address will be set to "user@domain"

Naturally, with this concept you will need to have at least one domain even if you don't plan to use virtual domains really.

The JWebMail virtual domain setup form is quite simple and self explanatory, I think. There is one column where you have to enter the domain name, one where you have to enter this domain's default host (user's primary folder host), one for the authenti- cation host (not necessarily the same as the default host), and some fields that control the restrictions for users of this domain. With the checkbox, you can turn on/off host restriction completely, in the allowed hosts column, you can enter a comma-separated list of domains/hosts where users may access IMAP folders (e.g. "wastl.net" would allow them to use "mail.wastl.net" and "pop.wastl.net" while setting it to "mail.wastl.net" would just allow "mail.wastl.net" (and certainly "imap.mail.watl.net") and so on (suffix is matched to say it simple)).

Top of section "JWebMail Virtual Domain Support"

4.2.4. Editing Users

You can add, edit and delete users from the administration interface (Note that you don't have to create users before they may use JWebMail since they get default settings when they first log on authenticating against IMAP, POP or Unix).

To create a user,

  • enter the user name and the domain in the user field (in the form "user@domain")
  • optionally change all the other fields from the default settings
  • hit the create/edit button on the bottom of the page

To edit a user,

  • select the user in the drop down menu OR enter the user name (with domain) in the short text field
  • edit the user settings
  • hit the create/edit button on the bottom of the page

To delete a user,

  • select the user in the drop down menu OR enter the user name (with domain) in the short text field
  • Hit the delete button

Top of section "Editing Users"

4.2.5. Viewing JWebMail Status

Last but not least you can get an overview of currently active sessions with the "view sessions" link. You will get some status information there as well as the possibility to explicitly kill an active session (whatever maybe the reason). Please be careful however with this feature, as you are very likely to kill a session that is currently in use and its user will probably not be very happy about that. The sessions will expire after a configured time anyway.

The Administrator Interface is currently available in English only, but the templates are already prepared for translation The system's default language will then be used (determined by the LANG environment setting).

I hope the rest is quite self explanatory at the moment, but I'll add some documentation later.

Top of section "Viewing JWebMail Status"Top of section "JWebMail Administrator Plugin"


Top of section "Configuration"

V. User Authentication

JWebMail supports extended user authentication. At the moment, the following authentication methods are supported:

  • SIMPLE: Use JWebMail's former authentication method. Password is only checked against the user's configuration. The user may change his password from within JWebMail
  • IMAP: Check login/password on a remote IMAP host. JWebMail tries to login on a remote IMAP host with the given login and password.
    If login fails, JWebMail doesn't allow access.
  • POP: Same for a POP3 server
  • UNIX: Check login/password using Unix's login facility. login/password are checked against the Unix passwd/shadow files.
    Note: JWebMail must be run as user root to use Unix Authentication

Changing authentication method can be achieved using the Administration Interface and changing the AUTH variable. For IMAP authentication there is an extra configuration variable called AUTHHOST.

Top of section "User Authentication"

VI. Usage

6.1. General Usage

The JWebMail daemon listens on whatever port you have configure. Just point your browser´s URL to http://yourhost:yourport/jwebmail and see the login screen.

A user will get the password he logs in with the first time. Passwords may be changed by the user in the options dialog. JWebMail will try to establish a default connection to the configured default IMAP host with the user ID and password it was given, so it may be useful to use the same ID and password as on the IMAP host.

For further information, just click on the "?" at the navigation bar.

JWebMail should also work with Proxy Servers and other Clients than Netscape Communicator.

Top of section "General Usage"


6.2. Folders

JWebMail supports as many IMAP folders on as many different hosts you like.

JWebMail mailboxes are configured by each user, however the administrator can change the default mailbox for each virtual domain. The default mailbox is the mailbox the user gets on the first login. He can than choose to remove it at any time and also add other mailboxes (the administrator can restrict that in the virtual domain configuration).

Top of section "Folders"


Top of section "Usage"

VII. Different Languages, Translating JWebMail

JWebMail supports the usage of different languages on a per user basis. Since v0.6.0 JWebMail scans for available languages automatically and adds the corresponding locales to the user's setup dialog ("de" will add the locales "de_DE", "de_AT", "de_CH", ...).
To translate JWebMail to a new language, please read the file "Translating" in the developers' documentation (source only).

Top of section "Different Languages, Translating JWebMail"

VIII. Notes

8.1. JWebMail Status

JWebMail Pre-1.0.1 is BETA.

Some features on the wish-list are

  • Captcha
  • to prevent robots, trojans, and miners from sapping our servers.
  • JDBC Integration
  • Refactor and modernize the authentication methods
  • Different XSL stylesheets to convert the JWebMail UI to other formats than HTML (perhaps WML for mobile phones)
  • PGP
  • Extras like calendar and so on (will be realized as JWebMail Plugins)

Top of section "JWebMail Status"


8.2. Changes

See the file changes.txt for a list of changes in the different JWebMail releases.

Top of section "Changes"


Top of section "Notes"

IX. License

JWebMail is copyright 2008 by the JWebMail Development Team and Sebastian Schaffert.

The base JWebMail product is distributed under the terms of the Apache 2.0 license. You can find a copy in the file LICENSE.txt, or at http://www.apache.org/licenses/LICENSE-2.0.

The Bibop theme is copyrighted under the supplied GPL 2 license.

Top of section "License"

X. Contributed Documentation

Contributed Documentation is documentation that has been provided by people that are not core JWebMail developers but have managed to run JWebMail on different platforms/systems and taken the effort to provide you with some sort of extra documentation (thanks a lot, BTW). I (Sebastian Schaffert) have not tested what you will find here.

Top of section "Contributed Documentation"

XI. Credits

Appreciation to all who reported bugs and made suggestions to improve JWebMail.

Some, however, I want to mention explicitly:

  • Sebastian Schaffert, schaffer@informatik.uni-muenchen.de, who was the project lead before me.
  • Devin Kowatch, devink@webengruven.org, for contributing challenge/response authentication
  • Homero Borgo, homero@apoyo.uson.mx, for testing JWebMail under rough conditions and helping much to find bugs in the product.
  • Sebastian's girlfriend for her patience and the cool icons for JWebMail 0.5 and 0.6
  • The people at Bibop in Italy, especially Gianugo Rabellino and Ricardo Rocha for doing the Bibop Theme and lots of inspirations
  • Sacha Berger, bergers@informatik.uni-muenchen.de, for some very interesting discussions about how to do things right.:-)

Blaine Simpson, blaine.simpson@admc.com





2008-10-31* JWebMail 1.0.1rc1, release candidate, released
Binary and source packages are available. This refactored version of the JWebMail web application requires a 2.4 compliant servlet container running with a 1.5 or new JVM.
Oct 07 2002WebMail 0.7.10 released
A bugfix release to 0.7.9 (attachments work again), and a Hungarian translation, contributed by Deim 'ago' Agoston from Linux Support Center (Hungary).
Oct 02 2002WebMail 0.7.9 released
After a long time, finally a new release. Many of the severe bugs in 0.7.8 have been fixed (e.g. sending messages under non-English languages didn't work), the code has been cleaned up. Moved from Xerces/Xalan 1 to the more general JAXP/Trax architecture (thus there are no more problems with other XML parsers). Updated several libraries. Updated for use with Servlet 2.3 containers (Tomcat 4.1 and above). The project also has a new developer: Leonard Sitongia and we hope to have a 0.8 soon.
Note: This release requires JDK 1.4 or above.
Mar 06 2002WebMail 0.7.8 released
Several bugfixes (setting message flags now works again), works and builds with Tomcat 4 (Catalina).
Tue Nov 6 10:24:12 2001WebMail 0.7.7 released
WebMail has now support for Chinese language, installation is now WebApp-compliant (i.e. just drop a WAR file in your server's webapp directory), many bugfixes and other improvements.
Thu Jan 11 12:51:33 2001WebMail 0.7.6 released
Main changes: Tomcat support, Challenge/Response Authentication updates (by Devin Kowatch), HTML message parser removes Javascript, bugfixes.
Sun Dec 17 20:58:33 2000WebMail 0.7.5 released
As promised, WebMail 0.7.5 is now available, featuring theme support and the new BiBop theme as well as some bug fixes. Please see the download and demo pages for further information.
Sun Dec 17 14:26:11 2000WebMail 0.7.5 Bibop Screenshots
There are new screenshots of the current development version available featuring the new "theme" support and the great Bibop theme contributed by Bibop Research, http://www.bibop.it.
WebMail 0.7.5 will (hopefully) be released before Christmas. This will be the last release in the 0.7 series. The plan for further development (in 0.8) is:
  • integration with the Cocoon project since WebMail won't have to do the XSL transformations then
  • removal of standalone version; the servlet installation is the recommended method already and WebMail 0.7.5 will already come with a JServ installation script.
  • eventually an addressbook; this is a long-awaited feature for many users, so this will be implemented, most likely based on the XML application for address books
  • what I would like to see is a WML (=WAP) theme to be used by cellular phone users; but this is only an option and not a definite plan for the future.
  • another very interesting thing would be to implement an interface that transforms WebMail's data to Mozilla's XUL interface. Mozilla users will then eventually not see any difference between Mozilla Messenger and WebMail.
Unfortunately I am currently very busily working on my diploma thesis in computer sciences, so WebMail development will not be very fast until sometimes in spring.
Fri Aug 25 15:46:11 2000WebMail 0.7.3 released
Since I'll be on vacation the next two weeks, I release WebMail 0.7.3 today. The new release mainly contains bugfixes and now complete UTF-8 support (that means that any charset of the world should work now with WebMail, WebMail tries to do an on the fly transformation of all mails to UTF-8).
Mon Aug 21 14:17:57 2000Updated RPM/DEB packages
The bug with the incorrect pathnames has been fixed. The packages are available as 0.7.2-2 instead of 0.7.2-1
Thu Aug 17 13:47:05 2000Bug in RPM/DEB packages
There is a small bug in the RPM/DEB packages for WebMail 0.7.2. The pathname in the servlet properties file still points to /usr/lib/webmail-0.7.1.
I will update the packages when I have the time, in the meantime the most simple solution is to just symlink webmail-0.7.2 to webmail-0.7.1.
Fri Aug 11 18:00:00 2000WebMail 0.7.2 released
This is a maintanance release that fixes a lot of problems in previous releases, among them the POP issue and updates to the README plus a big bunch of bugfixes, improved error handling and the basic implementation of a challenge/response authentication (thanks to Devin Kowatch).
Fri Jul 21 17:00:00 2000WebMail 0.7.1 released
WebMail 0.7.1 contains many bugfixes and a German translation of the templates. Please don't use POP3, since it seems to have a lot of problems with most POP servers. I'll have a look at the (contributed) POP3 code...
Thu Jun 26 11:00:00 2000WebMail 0.7 released
Finally, here is the WebMail 0.7 release. There have been a lot of bugfixes (thanks to all of you who sent me suggestions) and some enhancements (user help, "autoexpunge"-Option). This release certainly still has bugs (but what software doesn't:-( ), but I recommend you upgrade to it anyway, if you can.:-)
What you might find useful are Debian and Redhat packages to install WebMail as a Servlet. See "download" for details.
Thu May 18 17:00:00 2000WebMail 0.7 pre-release 3
You are now able to download the WebMail 0.7 prerelease 3. This is (hopefully) the last prerelease before the real 0.7.0 release. It has almost all of the features, still missing, however, are updates to the README and a usable help system for users and administrators. Furthermore, there is only English included in this distribution, I will at least translate to German and perhaps to Spanish until the release.
Thu Apr 20 15:30:00 2000WebMail 0.7 pre-release 2
For your evaluation, I just uploaded the second WebMail 0.7 prerelease. For a list of changes please see the changelog at the sourceforge project page. There are many features that still don't work as they should, this is clearly a development release not meant for production use. Please only use IMAP hosts to test it.
Also, the configuration files are completely incompatible to former WebMail releases, for the real 0.7 release there will be at least a transformation script for the mysql stored configuration.
The README is not yet updated for this release. For installation, you will basically have to do the following steps:
  • unpack the binary distribution (to /usr/local)
  • if you use another location than /usr/local/webmail, you will have to change the DOCTYPE in the file data/webmail.xml
  • change to the bin/ directory
  • start with ./webmail.sh
  • go to the admin interface and change the default protocol to "IMAP" (and do all other settings you like)
  • now log in as usual
Sat Feb 26 11:00:13 2000ITI-SSL binaries now hosted again
The WebMail packages are now also hosted in Europe (Germany) together with the ITI-SSL binaries so you (and I) don't get into trouble with US export laws.
The European Download Location.
Thu Feb 17 18:50:25 2000WebMail 0.7 new README available
There is now a new, revised README available for WebMail 0.7 which merges all the former READMEs into a single XML document (which is also available converted to HTML).
You can get a list of the files here.
Note that I am not yet too happy with the look and feel of the HTML version, but this should be little work to do.
Sat Feb 05 18:40:50 2000WebMail 0.7 development screenshots
Please have a look at the demo page and comment on the screenshot of the new mailbox/folder list. You will get a look on how WebMail 0.7 will handle folders: A user connects to a certain IMAP/POP host (and a root folder) and gets a tree-like view of all the available folders plus the ability to create additional folders under each node that can contain subfolders.
There will be some layout changes (icons and that stuff), but that's it mainly.:-)
I would like your opinions now on whether this is usable for the simple mail user also (or if it is at least an improvement of the current system).
Note: You cannot download this version since it is only working in parts currently. Expect a new prerelease in the next week however.
Mon Jan 31 11:40:50 2000WebMail 0.7 pre-release 1
Since some people requested this, here it is.:-)
This is however a prerelease and possibly has many bugs. Also, many things I wanted to do are not yes implemented.
New things in this release: Virtual Domain support, enhanced memory management (WebMail now can have many simultaneous users).
Mon Jan 24 16:25:02 2000Demo server updated
The Demoserver now runs a WebMail 0.7 development release with the IBM JDK 1.1.8 on Apache/JServ and MySQL. Seems to work quite good.:-)
Also included: The upcoming WebMail virtual domain support (hope this is stable).
Wed Jan 12 11:03:02 2000WebMail 0.6.2 pre-release 1
A prerelease of the upcoming WebMail 0.6.2. Mainly contains some bug fixes, a MySQL storage implementation and finally working support for SSL in the standalone version. You will need to get a platform dependent ITI-SSL library however. These are called iti-ssl--.tgz .
Get this release in the pre-release directory.
Get the ITI-SSL source at http://www-sp.iti.informatik.tu-darmstadt.de/itissl, the mentioned binaries are also available at the Old WebMail Homepage (in Germany so you may download 128bit cryptography).
Mon Nov 12 11:05:00 1999WebMail Rated TOP 5% at JARS
WebMail has been rated TOP 5% at JARS (http://www.jars.com). The entry can be found here.
Mon Oct 25 14:21:32 1999WebMail 0.6.1 released
Most of the reported bugs from 0.6.0 have been fixed.
The most important new feature is Java Servlet support, WebMail is now able to run with your favorite Webserver (only tested Apache with JServ) if it supports Servlets. This allows you to build high availability and load balancing systems with WebMail (not tested but should work). Read the file README.Servlet in the distribution.
However, it is also more difficult to set up, so the standalone version is also included.
Also, this version has no compatibility for 0.6.0 or earlier user configurations due to a changed package structure.
You can possibly test the servlet server here. The installation is a PIII/450, 384MB RAM with SuSE Linux and Apache 1.3.9/JServ 1.1b/JDK 1.2pre2.
Tue Oct 05 17:31:02 1999WebMail 0.6.1 pre-release 2
This pre-release contains some more bugfixes and configuration options. Also, the admin interface now checks whether an integer value was entered correctly. Some debug messages are removed and the output on stdout is somewhat cleaner.
Oh, and it runs with JDK 1.1 again.:-)
Fri Oct 01 18:02:05 1999WebMail 0.6.1 pre-release 1
For all of you experiencing trouble with one of the following, there is a 0.6.1 prerelease available at http://webmail.wastl.net/pre:
  • You have a large number of users and the server sometimes crashes with a coredump
  • You have a lot of "stupid" users that don't fill their login into folder connections
  • You have your SMTP server on a different host than localhost
  • You are using the Spanish language templates, some bugs there have been fixed
Wed Sep 28 17:45:05 1999New bugfix directory
You can find bugfixes for WebMail releases at http://webmail.wastl.net/bugfixes. Mostly these are replacement plugins that you can simply copy into the plugin directory.
Thu Sep 23 13:30:05 1999WebMail v0.6.0 finally released
After a week of testing, WebMail v0.6.0 is now released to the public.

There are lots of changes, the most important are described here.

This release also includes Spanish and Galician translations, they are not yet complete however. The language packages will be available for download in the near future.

Mon Sep 20 12:44:59 1999License change
WebMail v0.6 will be released this week. It will be licensed under the GNU Lesser General Public License (LGPL) instead of the dual scheme of GPL/Artistic. This is mainly to avoid confusion and allow WebMail to be used in commercial projects without hurting my (and other people's) rights or the Open Source character.

You can find a copy of the LGPL on the "About" page.
Thu Jul 22 11:02:31 1999WebMail RPM packages available
Andrew D. Fernandes contributed RedHat packages with some very good enhancements (will go into the source ASAP) like sysvinit scripts and much more.
Thu Jul 15 14:47:01 1999WebMail Debian packages available
There is now a Debian package for WebMail 0.5.4, you can get it at the download page. It was tested with the current Debian unstable but should work with the stable release, too. If creating RPM's is as easy as creating DEB's, I'll do that sometimes.:-)
Wed Jun 30 18:10:42 1999WebMail v0.5.4 released
Mainly some bugfixes, IE5 works now and the charset bug has been removed. Most of the strings are now sourced out so translation should be easier (and more complete). Furthermore, the directory structure has been changed (not a very important feature for the non-developers.:-) ).
Fri Jun 25 17:06:52 1999WebMail v0.5.3 released
Finally, WebMail v0.5.3 is released. To sum it up, it contains the following new features/bug fixes:
  • Reimplementation of the HTTP/1.1 protocol now allow so-called persistent/keep-alive connections (should increase performance greatly).
  • I began writing a Java/Swing administration interface for the AdminServer, which now allows to change the settings of specific users (not yet finished).
  • Passwords are now stored encrypted
  • The UnixAuth scheme does no longer need a platform specific binary
  • SSL is working now, using the IAIK SSL package (which, unfortunately, requires a license for commercial use).
  • Most parsing is now done with JFlex and JavaCUP, further improving speed
  • many minor and some major bugfixes but unfortunately I still can't get it running with IE5, no chance why as I analyzed the HTTP specification and kept as close as possible.:-(
This will be the last release for the following one or two months as there will be some tests at university in the next time.
Perhaps I will release a 0.5.4 if I can somehow figure out the IE5 problem.:-)
Mon May 17 11:57:12 1999WebMail v0.5.2 released
WebMail v0.5.2 contains numerous bugfixes (especially the CC-field bug). Also, experimental SSL support is included (doesn't work for me yet, but perhaps it does with you - fetch the complete source and compile openssl and ITI-SSL first).
Note: WebMail is now distributed under a dual license (GPL and Artistic License) to allow other projects to include it.
Summary:
  • Default folder path now Admin-configurable (default: /home/%user/mail)
  • Messages that are sent are now kept until the send was really successful
  • Admin connections are now not closed when the admin changes the admin port
  • fixed the infamous reply-bug
  • fixed a problem when parameters where given at command line
  • Changed the 10 minute default timeout to one hour
  • Number of total messages is now shown correctly in the folder overview
  • BCC field and CC field showed the same values
Thu Apr 22 15:54:19 1999WebMail release v0.5.1
I just released WebMail v0.5.1, you can fetch it at the download page. I'll not provide patches this time as I don't want confusion with the previous bugfix-patches.

Note that you will have to get the contrib package again as I included experimental POP3 and LocalMbox Providers

Changes:

  • authentication bug fixed (provided wrong password to IMAP sometimes)
  • session management bug fixed (did not allow you to change folders where the login was different from the WebMail login)
  • improved message decoding, now "multipart/report" is supported, as well es quoted-printable headers and ISO-8859-1 charset. Could also fix possible bugs while sending messages.
  • improved message compose form. You can now attach files without losing the data you already entered
  • improved speed and reliability with folders.
  • POP3 is now included as an option, though not yet well tested
Wed Apr 21 00:32:52 19991st Bugfix for v0.5
v0.5 had a small bug that didn't allow users to create folders with a different login name than their WebMail login. There's a patch against both the source release and the binary release at the download page.
The archives that may be downloaded on the website already contain those patches.
Tue Apr 20 14:19:07 1999WebMail v0.5 released
Today is a great day as WebMail v0.5 is released. It finally works with proxies and I hope that most bugs are fixed right now, so please enjoy and get the binary/source.:-)
Mon Apr 19 19:31:51 1999New WebMail prerelease

The 190499 prerelease contains a new authentication scheme. The following authentication methods are now supported:

  • authentication against a remote IMAP server. WebMail tries to login on the remote server with the provided login and password. If the login fails, WebMail access is denied.
  • authentication against the Unix passwd/shadow database. WebMail comes with a little C-program that checks against the passwd/shadow database. WebMail must be run as root to use it.
  • simple authentication. Authentication as it ever was: against the user's data-file.

Note that WebMail is no longer platform independent if you want to use Unix authentication. In the binary distribution are only Linux-glibc/x86 and Solaris2.6/SPARC binaries of the unixauth program. You'll need to fetch the source for other platforms.

Wed Apr 14 16:14:44 1999Bugfix release
There's a new (bugfix) release out now which fixes the following bugs:
  • Microsoft Internet Explorer now works fine with WebMail
  • Session Management improved so users can use the same IP adress
  • Improved "make" and configuration in the source release
  • Now JAR archive instead of ZIP