###

### INTRODUCTION

> Open WebMail is a webmail system based on the Neomail version 1.14 from Ernie Miller. Open WebMail is designed to manage very large mail folder files in a memory efficient way. It also provides a range of features to help users migrate smoothly from Microsoft Outlook to Open WebMail.

### SITES

> Links | Readme | Changes | Faq | Copyright | Screenshots | Icons | Download
> Master Site | http://turtle.ee.ncku.edu.tw/openwebmail/ (Taiwan)
> Mirror 1 | http://openwebmail.org/openwebmail/ ftp://openwebmail.org/ (US)
> Mirror 2 | http://www.geocities.com/openwebmail/ (US)
> Mirror 3 | http://ftp.ee.ncku.edu.tw/pub/openwebmail/ (Taiwan)
> Mirror 4 | http://www.correuweb.com/mirror/ (Spain)
> Mirror 5 | http://openwebmail.showhappy.net/ (HongKong)
> Mirror 6 | http://www.brc.com.br/openwebmail/ (Portuguese)
> Mirror 7 | http://spirit.profinet.sk/Openwebmail/ ftp://spirit.profinet.sk/mirrors/Openwebmail/ (Bratislava, Slovakia)
> Mirror 8 | http://openwebmail.kkellas.com.my/mirrors/openwebmail/ (Malaysia)
> Mirror 9 | http://www.openwebmail.net (Austria/Europe)
> Mirror 10 | http://portal.bitsoft.ro/mirror (Romania/Europe)
> Mirror 11 | http://fido.bitsoft.ro/openwebmail(Brasov, Romania)
> SourceForge Forums | http://sourceforge.net/forum/?group_id=34552
> Freshmeat | http://freshmeat.net/projects/openwebmail
> Quick Installer | http://openwebmail.org/openwebmail/download/redhat-7x-installer/
> Online Demo | http://mail.ipspace.com/

### FEATURES

> #### Fast Folder Access

> Folder access performance is greatly improved through the use of dbm (a simple database provided by perl). When a mail folder is selected in the folder view, Open WebMail will parse the mail folder file and cache the parsed result to a dbm. This dbm is reused whenever the user wants to access the folder. The dbm cache eliminates the scan of an entire folder for every access, a significant benefit when dealing with a large folders. The dbm is automatically synchronized with any changes to the folder itself; the dbm update is incremental if the folder modification is done by the Open WebMail application itself. The dbm will however be recreated when a folder is found to have been changed by an external program.

> #### Efficient Message Movement

> The size of a message will be slightly increased after it is read at the first time because of status change. A large movement of messages may be introduced due to the size change. Also, the user may want to move a group of messages between two folders. The routines for message update and movement have been totally rewritten so that minimal movement occurs, with correspondingly minimal memory utilization.

> #### Smaller Memory Footprint

> Much effort has been put into optimizing Open WebMail's memory utilization. The memory footprint of Open WebMail is much smaller than its predecessors when dealing with messages with large attachments (e.g. a 20MB document), as a result of which the application now runs smoothly on a medium sized machine, (e.g. a Celeron 300 with 128MB RAM).

> #### Convenient Folder/Message Operation

> Open WebMail supports 'create', 'rename', 'delete', and 'download' operations on folders, and 'move', 'copy', 'delete' and 'download' operations on messages.

> #### Graceful File Lock

> Since a mail folder may be used by multiple programs simultaneously, it is necessary to lock the file before accessing the folder. Open WebMail uses a blocking lock with a timeout limit of 60 seconds. It gives the lock a better chance of success than a nonblocking lock, which returns an error if the lock can not be acquired immediately. Open WebMail also supports locking by dotlock file to ensure that the file locking operates correctly on platforms operating with an incomplete implementation of NFS lockd.

> #### Remote SMTP Relaying

> With the help of Net::SMTP module, openwebamil can talk SMTP to SMTP daemons on either localhost or remote machine. This gives openwebmail the better compatibility with various smtp daemons. The system administrator also has more flexibility when designing the mail service system.

> #### Virtual Hosting

> You can have as many virtual domains as you want on same server with only one copy of openwebmail installed. Open Webmail supports per domain config file. Each domain can have its own set of configuration options, including domainname, authentication module, quota limit, mailspooldir ...

> You can even setup mail accounts for users without creating real unix accounts for them. Please refer to Kevin Ellis's webpage: "How to setup virtual users on Open WebMail using Postfix & vm-pop3d"

> #### User Alias

> Open Webmail can use the sendmail virtusertable for user alias mapping. The loginname typed by user may be pure name or name@somedomain. And this loginname can be mapped to another pure name or name@otherdomain in the virtusertable. This gives you the great flexibility in account management. For example, you may have john for different domains by actually mapping them to different real user ids.

>       john@domain1.com	john1
>       john@domain2.com	john2
>       john@domain3.com	john3

> #### Per User Capability Configuration

> While options in system config file(openwebmail.conf) are applied to all users, you may find it useful to set the options on per user basis sometimes. For example, you may want to limit the client ip access for some users or limit the domain which the user can sent to. This could be easily done with the per user config file support in Open Webmail.

> #### Various Authentication Modules

> Various authentication modules are directly available for openwebmail, including auth_unix.pl, auth_ldap.pl, auth_mysql.pl, auth_pgsql.pl and auth_pop3.pl. With these modules, openwebmail can be integrated with other systems easily.

> #### PAM support

> Openwebmail can also use other sources for authentication through the PAM (pluggable authentication module). Ex: NIS+, NIS, LDAP, Radius.... Solaris 2.6, Linux and FreeBSD 3.1 are known to support PAM. For more information about PAM, please see http://www.kernel.org/pub/linux/libs/pam/

> #### Full Content Search

> Full content search with regular expression support is provided. When a user enters a keyword in the search box, the scope of the mail folder is limited to the keyword related messages. This means the user can use the sort or static functions on the search result. The scope limit is released when the user selects another folder or refreshes the current folder.

> #### Strong MIME Message Capability

> Most webmail packages present MIME messages poorly compared to traditional POP clients. Open Webmail presents MIME messages in an attractive format comparable to that presented by Microsoft Outlook. It does this through supporting unlimited levels of attachments and cid object cross-reference inside attachments. Open WebMail also supports uuencoded block inside messages, and displays those uuencoded blocks as if they were normal attachments.

> #### Draft Folder Support

> This feature enables the user to write a message in a number of stages, even over several days. The user can save an unfinished message into the draft folder and continue editing at any time.

> #### Spelling Check Support

> The spelling check in Open WebMail is very user-friendly and powerful: It makes suggestions for mis-spelled words, and the user can correct the errors very easily by selecting one of the suggestions from a drop-down menu.

> #### Calendar with Reminder Support

> The user can keep track of their appointments, meetings, birthdays, whatever, with the build-in calendar in Open WebMail. This calendar provides serveral views, including year view, month view, week view and day view, so the user can browse their scheduled events very esaily. There is also reminder support for scheduled events, user can specify the days that the reminder shoud look ahead and the first 5 upcoming events will be displayed in the top of mail folder view.

> #### POP3 Support

> Multiple POP3 accounts can be defined, allowing a single user to fetch mails from a number of mail servers. All messages fetched will be stored in the INBOX folder. Should the fetch operation exceed 10 seconds (due to a slow link or large message for example), the operation will be put into background to avoid an http timeout.

> #### Mail Filter Support

> Multiple filter rules can be set to move or copy incoming mails to different folders automatically or even delete them directly. The user can categorize mails from a specific person or spammer, and identify mails containing viruses very easily by defining rules of sender, receiver, SMTP relay, subject, body or filename of attachments.

> In addition to the static filter rules, openwebmail has build-in three smart filters: faked smtp filter, faked from filter and faked exe contenttype filter. Faked SMTP filter is useful in filtering messages from spammer, faked from filter and faked exe contenttype filter are useful in filtering messages generated from virus.

> Since mail filtering is activated only in Open WebMail, messages will stay in the INBOX until the user reads their mail with Open WebMail. 'finger' or other mail status check utilities may report new mail incorrectly, since they are not aware of filters: A command tool 'checkmail.pl' is provided for use as finger replacement, which performs mail filtering before reporting mail status.

> #### Message Count Preview

> When the user pulls down the folderlist menu to select a folder, the counts of new messages and total messages of each mail folder are displayed after the folder name to assist the user in finding unread messages.

> #### Confirm Reading Support

> The user can request a 'confirm-reading receipt' for each message sent. When the message is read by the recipient, a receipt will be sent back to this user.

> There are too many other small enhancements to mention. You may choose to find them by yourself...

### AUTHENTICATION MODULES

> Open Webmail has the following modules to support different types of authentication:

> Name | Description | Maintainer
> auth_ldap.pl | authenticate user with LDAP | Ivan Cerrato Kelson Vibber
> auth_mysql.pl | authenticate user with MySQL (through DBD::MySQL interface) | Alan Sung
> auth_mysql_vmail.pl | authenticate user with MySQL under vmail (through DBD::MySQL interface) | Zoltan Kovacs
> auth_pam.pl | authenticate user with PAM | openwebmail
> auth_pam_cobalt.pl | authenticate user with PAM on cobalt server | Taco Scargo
> auth_pgsql.pl | authenticate user with PostgreSQL (through DBD::Pg interface)) | Oliver Smith
> auth_pgsql.pl | authenticate user with PostgreSQL (through native interface) | Veselin Slavov
> auth_pop3.pl | authenticate user through pop3 server | openwebmail
> auth_unix.pl | authenticate user with unix passwd | openwebmail
> auth_unix_cobalt.pl | authenticate user with unix passwd on cobalt server | Trevor Paquett

### LANGUAGES

> Open Webmail is available for the following languages:

> Language | Abbreviation | Translation Maintainer | Cool3D Iconset Creator
> Bulgarian | bg | Veselin Slavov | Veselin Slavov
> Catalan | ca | Jordi Vidal | Jordi Vidal
> Czech | cs | Michal Drapak, Jan Bilik | Jan Bilik
> Chinese (Simplified) | zh_CN.GB2312 | Wang Jun |
> Chinese (Traditional) | zh_TW.Big5 | openwebmail | HoYuan
> Danish | da | Frank | Kenneth Nielsen
> Dutch | nl | Michiel van Slobbe, Christian Boer | Jan Houtsma
> English | en | openwebmail | Emir Litric
> Finnish | fi | Jouni Kivilahti, Helja Laitinen |
> French | fr | Cyril Sabatier |
> German | de | Andreas Roedl, Christian Schoepplein | Ralf Becker
> Hungarian | hu | Nagy Endre, Posz Marton |
> Indonesian | id | Hu-Wei Liang |
> Italian | it | Benedet Marvi | Andrea Partinico
> Japanese (ShiftJIS) | ja_JP.Shift_JIS | Captain James and Interactive Artists, LLC |
> Korean | kr | Moonsang Kwon | Matthewyi
> Lithuanian | lt | Alvydas Sinkunas |
> Norwegian | no | Are Tysland | Are Tysland
> Norwegian Nynorsk | no_NY | incomplete |
> Polish | pl | Pawel Jablonski, michal talecki, Grzegorz Nosek | Grzegorz Nosek
> Portuguese | pt | Jos Ferradeira |
> Portuguese Brazil | pt_BR | Edison Figueira Junior, Rui - iG | Jordi S. Bunster
> Romanian | ro | Vladimir Hrusca | Vladimir Hrusca
> Russian | ru | Denis Mysenko |
> Slovak | sk | Lubos Klokner, Peter Sedivy | Lubos Klokner
> Spanish | es | Javier Smaldone | Javier Smaldone
> Swedish | sv | Goran Jartin |
> Thai | th | Atsawin Chaowanakritsanakul |
> Turkish | tr | Erdinc Guler | Erdinc Guler
> Ukrainian | uk | Volodymyr M. Lisivka |

### THANKS

- Thanks to Ernie Miller. His great work Neomail provided the solid foundation upon which Open WebMail was built. Without Neomail, there would be no Open WebMail.
- Thanks to Emir Litric for his great works of art. He made all the great 3D icons and the many fancy styles in Open WebMail, and maintained the doc/RedHat-README.txt. He is now one of the authors of Open Webmail.
- Thanks to Thomas Chung, who donated the domain openwebmail.org to the Open Webmail project, setup openwebmail.org site and maintained the Quick Install package for Open Webmail on RedHat 7.x platform. He also helped other users to solve problems on installing Open Webmail. Thank you, Thomas!
- Thanks to Norvasen for hardware, DNS and bandwidth for openwebmail.org.
  Thanks to Pentecost Inc. for their consulting expertise and operational support.
- Thanks to Michael Arndt. The web calendar support in openwebmail is based on his great code in WebCal 1.12.
- Thanks to Joshua Cantara, the web based spelling check is based on his code in WBOSS 1.5a.
- Thanks to Nikolay Pelov, the PAM support in openwebmail is mostly from the example code in his perl Authen::PAM module.
- Thanks to Russ Reese, the login alias/mapping is based on his patch code and idea.
- Thanks to Nimrod Zimerman and Nimrod S. Carmi, who contributed the useraddbyweb package in contrib/. This allows users to be added to a Linux system dynamically through web signup.
- Thanks to Dugal James P., who submitted the patches for PAM support, automated DST adjustment, internal msg detection on Solaris dtmail, disallowed_pop3servers option, fix for passwdfile in NIS+, fix for user homedir in sun automounter and fix to the content-type header error in attachment downloading.
- Thanks to Raul Monferrer, who submitted the patch for multiple dictionaries support in spellcheck.
- Thanks to James Dean Palmer, who contributed the support for new mail headers: In-Reply-To, References and X-Status. He also wrote a new sort method "by thread" for folderview, added the 'A' flag display of answered messages and made the from column more concise by cutting it off at .AT. symbol if it is a pure address.
- Thanks to Nimal Ratnayake, who submitted the patch for .forward editing.
- Thanks to Chen-hsiu Huang, who fixed the templates to solve the display problem on Mozilla/Netscape browser and added support for 'markasread'.
- Thanks to ©ú³Ó, who contributed the patch of search support in addressbook.
- Thanks to Carl Olsen, who contributed the code of using Net::SMTP module. This allows openwebmail to use other host as SMTP relay for mail sending.
- Thanks to Brian Suttonb, who contributed the Hotmail style definition file.
- Thanks to Ivan Cerrato, who contributed the LDAP authentication module(auth_ldap.pl) and script add_user.pl to add an user account on a LDAP server
- Thanks to Kevin Lo, who made the OpenBSD port for openwebmail.
- Thanks to Volodymyr M. Lisivka, who patched the openwebmail-spell.pl to check vocabularies composed by characters other than English letters.
- Thanks to Frank.AT.post12.tele.dk, who has fixed a lot of bugs in checkmail.pl so it can work correctly with server of pure virtualuser configuration. He also provided the idea and code for disable_embedded_CGI option and suggested the use of $ENV{SCRIPT_FILENAME} so *.pl can find required modules automatically
- Thanks to Chris Heegard, who provided the information of how to use openwebmail on Mac OS X and suggested the use of wrapsuid.pl to generate C wrappers for suid scripts.
- Thanks to Yen-Ming Lee, who made the FreeBSD port for openwebmail.
- Thanks to A.Johnson Jeba Asir, who fixed the hang problem in attachment uploading caused by a bug in encode_base64() in mime.pl
- Thanks to Kevin Ellis, who fixed the bugs related to virtualuser and option auth_withdomain so openwebmail could work smoothly with vm-pop3d. Please refer to Kevin's webpage "How to setup virtual users on Open WebMail using Postfix & vm-pop3d"
- Thanks to Koppi, who fix the bug related to the variable localization behavior in 'foreach' statement.
- Thanks to Taco Scargo, who made Sun Cobalt package of openwebmail for Qube 2, Qube 3, RaQ, RaQ 2, RaQ 3, RaQ 4, RaQ XTR. He also suggested the use of dbmopen_ext option and fixed a javascript bug in openwebmail.
- Thanks to Oliver Schindler, who helped to debug the insecure dependence error due to tainted variables
- Thanks to Veselin Slavov, who contributed the PostgreSQL authentication module (auth_pg.pl, pgsql interface) and submitted the patch to add selection menu of logindomain at login
- Thanks to Kelson Vibber, who fixed a serious bug in auth_ldap.pl, a bug in smiley code in readmessage and added %1 variable support to virtusertable
- Thanks to Michael Karner and QETA.Net, who registered and hosted the mirror site www.openwebmail.net
- Thanks to _KhlER3L, who wrote the document Customizing the look of Open WebMail v1.65
- Thanks to Dattola Filippo, who wrote the advanced search, which can search more than one folders at a time and show the results from different folders in one page. He also wrote the patch to support mark read operation on whole folder, save message to draft if sendmail error and fixed the bug that the ' and \ chars in filterrule will be eat by javascript
- Thanks to Trevor Paquette, who made fix for option domainname_override and folderusage_threshold and the auth_module auth_unix_cobalt.pl for Cobalt server.
- Thanks to Andrea Partinico, who made the mkcool3d_en.sh and mkcool3d_it.sh under uty/, which can be used to generate the Cool3D iconsets for different languages. The Cool3D.Large.English and Cool3D.Italian is made with these scripts.
- Thanks to Neil Inns, who donated the openwebmail.con domainname to this project.
- Thanks to Ralf Becker, who submitted the patch that added preliminary subdir support to mailfolder.
- Thanks to Herr Doktor C. Lesser, who provided the online demo site http://mail.ipspace.com for openwebmail.

### CONTACT

> If you encountered any problem with Open Webmail, please check changes.txt to see if the problem is fixed in the latest current version. If not, try the readme.txt and faq.txt.
> If you want to seek help, please post your problem in the openwebmail-users discussion forum.
> If you want to submit patch or bug-report, please email to openwebmail.AT.turtle.ee.ncku.edu.tw
> If you want to mirror this site, please use this script.
> Please DO NOT email questions/problems to openwebmail.AT.turtle.ee.ncku.edu.tw or the authors directly, they will be just simplely ignored. We would prefer to do the discussion on the forum thus the information could be shared by others.

### OPENWEBMAIL TEAM

> The Open WebMail is brought to you by

> Chung-Kie Tung | ¸³¥ò·_
> Nai-Jung Kuo | ³¢¤Dºa
> Chao-Chiu Wang | ¤ý¶@¥C
> Emir Litric |
> Thomas Chung |

> Distributed System Laboratory
> Department of Electrical Engineering
> National Cheng-Kung University, Tainan, Taiwan, R.O.C.

08/22/2002