Multiple Languages/Multiple Charsets
Open WebMail is currently available for more than 30 languages, and it is quite easy
to add new language to Open WebMail if yours is still not supported.
For languages with more than one charsets, Open WebMail will choose one as the default
charset for the language. If a message is written with charset other than the
default, it will be converted to the default charset automatically.
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
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, openwebmail 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.
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 web page:
"How to setup virtual users on Open WebMail
using Postfix & vm-pop3d"
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.
Pure Virtual User Support
Pure virtual user means a mail user who can use pop3 or openwebmail
to access his mails on the mail server but actually has no unix account
on the server.
Openwebmail pure virtual user support is currently available for system
The authentication module auth_vdomain.pl is
designed for this purpose. Openwebmail also provides the web interface
which can be used to manage(add/delete/edit) these virtual users under
various virtual domains.
Kevin L. Ellis has written
a tutorial for openwebmail + vm-pop3d + postfix for this.
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
With these modules, openwebmail can be integrated with other systems easily.
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
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.
Reply with Stationery
Several stationeries could be defined. It enables the user to quickly reply
mail with the same answer.
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/Notification Support
The user can keep track of their appointments, meetings, birthdays, whatever,
with the build-in calendar in Open WebMail. This calendar provides several
views, including year view, month view, week view and day view, so the user
can browse their scheduled events very easily.
There is also reminder support for scheduled events, user can specify the days
that the reminder should look ahead and the first 5 upcoming events will be
displayed in the top of mail folder view.
If the user want the event reminder to be available outside the webmail system,
he can also specify a notification email address, eg: the one used by mobile phone,
for each scheduled event, so he can get notification of these events on his mobile phone.
The webdisk module provides a web interface for user to use his home
directory as a virtual disk on the web. It is also designed as a
storage of the mail attachments, the user can freely copy attachments
between mail messages and the webdisk.
The / of the virtual disk is mapped to the user's home directory,
any item displayed in the virtual disk is actually located under the
user home directory.
Webdisk supports basic file operations, eg: mkdir, rmdir, copy, move, rm,
file upload and download. Download of multiple files or directories is supported,
webdisk compresses the files into a zip stream on the fly in the transmission.
It also handle many types of archives, including zip, arj, rar, tar.gz,
tar.bz, tar.bz2, tgz, tbz, gz, z.... The user can compress, decompress or list
the contents of archives without copying them into his computer.
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
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 'openwebmail-tool.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.
Persistent Running through SpeedyCGI
is a way to run perl scripts persistently, which can make
openwebmail run much more quickly. It uses machnism similar to
Open WebMail has been modified to work with SpeedyCGI. All you have
to do is to install the
and change the interpreter for openwebmail scripts.
Kevin L. Ellis has written
a tutorial and benchmark for Open WebMail + SpeedyCGI.
Open WebMail supports compression of HTML content over HTTP.
With compression turned on, the average page size has been reduced for
over 80%. This feature effectively reduces the use of nework bandwidth
between the client computer and the webmail server and is very useful
for users with slow connection to the webmail server, eg: dialup users,
There are too many other small enhancements to mention. You may choose to find
them by yourself...