User Settings
Every user within WebMail will have a user profile directory where WebMail will store all of the users information. This includes user settings, address books and any WebMail cache for that user.
User Profile Directories

All user files are stored off the workarea. The CGI creates a directory for each user, depending on which 'hash_method' the user is using.

For most systems the simple approach of using directories in the form:


is best. This provides a spread of user directories and an easy way to find the user.dat for any given user. On some very large Unix systems the directory lookups can be slow if there are more than about 800 entries in a directory. For these systems, a second more complex hashing method is provided. It is set by putting the following setting in your ini file:

hash_method 2

This new method allows any characters in usernames and uses a two level directory structure

eg. workarea/n_a9/b4/

rather than just workarea/u_xx/user@domain_name. This provides a very flat distribution and will produce less than 800 directories per directory even on systems with many millions of user accounts.

To quickly locate a user directory you can run one of WebMail command line parameters to locate the full directory.

eg. ./webmail.cgi -show_path

Note 1: Most large systems, even on Unix, do not see a problem with the existing hash method which is more transparent.
Note 2: You will need to use the managers page to change between the different hashing methods on an existing system.

Default User Settings

Whenever a new user is detected, the CGI will attempt to create a set of default user values. The CGI will pick up the 'default.dat' file from your WebMail template directory and use these variables for the default values. In this default.dat file, only one variable is allowed to have '||user||' as part of the value, which will be replaced by the user's name. This variable is called 'dflt_reply'.

ie.         dflt_reply ||user||

If this file or this setting is not inside the default.dat file, the CGI will default to:


There are two other methods for setting up the default reply address for new users. The different methods are explained below.

  1. You can setup WebMail to use the host which the user is connecting to, instead of the domain setting:
    To enable this to work you need to add the following setting to the ini file  :
            stated_host true
    (This means that users will have different reply addresses for different pophosts without having to make the change themselves)

  2. The last method uses a host file, which is called 'dftreply.dat' which will need to be created in the templates directory. The layout of this file is similar to that of the NT host file, matching the mail host to the default domain reply to be used.

    ie        If the 'dftreply.dat' file is:

    So if the mail host is or, the default reply address will be:


    If a host is being used which does not match one in the host file, it will default back to method 1, 2 or 3 depending on the ini settings ('stated_host' and 'domain') and the default.dat file.

    NOTE: The last method is only available in version 2.0e or higher.

You can place any value you wish in the default.dat file including your own defined values (ie _xxx). Below is an example of a default.dat file.

dflt_reply ||user||@
from admin@
v_raw off
v_headers off
v_font off
v_inline on
autoadd on
disk_quota 1000000
_user_setting_variable welcome to Web Based Email

Version 2.0d and higher allow administrators to let users setup user profiles. There was an update in the profiling in version 2.0e that allowed extra functionality. The following is based on the presumption that you are using version 2.0e or higher.

The user profile allows the user to have different values for some variables depending on which profile they are using.

ie. multiple signatures, reply-to, and real name.

By changing the config.tpl (and/or configf.tpl) the administrator can set up any user variable to be changeable by selecting a different profile. The default template set should have at least the signature setup for multi-profile. The template code for this is:

<textarea name="pro_sig" rows=4 cols=50 wrap="physical">||pro_sig||</textarea>

All user profile variables start with 'pro_'. This is removed before the user.dat file is updated with the user profile. If you decide to add the user's real name, for which the variable is normally called '_real_name', the profile variable that you use should be 'pro__real_name'. Note that there are three underscores, not two. This means that the line to add to the template file will be:

<input type=text size=30 maxlength=256 name="pro__real_name" value="||html_text||pro__real_name||">

You can also setup any other variable names of your choosing.

Some user variables cannot be setup as a user profile. These are:


User Settings

The settings for each user are stored in user.dat files, one for each user. Each user has a directory which is a subdirectory of the template or work directory. See User Directories for directory layout.

This user.dat is a text file which can be edited by the system administrator. The default settings come either from global ini file settings or from the default user.dat file which is called default.dat. See Default User Settings for more details about the default.dat file.

You can also create batch scripts, or programs to modify the contents of the user.dat files, to do things like updating user's disk quotas or changing their "Real name" based on the contents of some central user database. Most changes to user.dat files should be done via the Managers Page.




trash_can TRASH This is the name of the folder that any deleted messages are moved to.
disk_quota 1000000 User's quotas can be changed by modifying the setting in each user's user.dat file. This is given in bytes, and is only used for POP folders.
dflt_reply lynden@ This is the reply address which is used when any messages are sent. The default setting for this is (or if a pop server)
If the mail or pop host is not what you wish to display, you will need to use the default.dat file to setup this value.
gaddr_books lynden, Ralph The list of public address book users.
v_raw 0 A setting used to determine how to display Email. This will display the physical information as received by the SMTP server.
v_headers 0 A setting used to determine how to display Email. This will display the header fields of the Email.
v_font 0 This setting, when set, will use variable width font when displaying messages.
v_inline 1 This will display attachments within the Email display itself.
sig Regards,\nLynden. This is the signature of the user.
_real_name Lynden Sherriff This is the real name of the user.
_refresh 60 This is the time between refreshing of the list page.
_no_logout CGI sets this This variable is set to inform the user that they did not logout, but timed out.
remove_setting _* This is set up as a hidden template setting. See FAQ Question 6 for more details.
from lynden@ This is the list of items in the user's pick list.
reject * This list is of the Emails the user automatically rejects.
max_pick_size 30 This is the maximum size of the user's picklist.
autoadd off This decides whether or not the signature is added to outgoing Emails.
v_show_alt off This decides whether or not the alternative part of an Email address is displayed.
timezone nzst This is the timezone that all the times are displayed in to the user.
_max_message_display 20 This is the number of Emails that are displayed on the list page.
email_sent 4 This is the number of Emails the customer has sent.
send_autocc off This determines whether the user will receive a CC'ed copy of any messages they send.
agent Mozilla/4.7 [en] (WinNT; I) This is the last agent to have been used by the user.
_current_bulletin 976441815 This is the last bulletin that the user has displayed.
_no_logout Occurred This is setup to 'Occurred' if the user did not logout from the last session.
fetch_last 976519640 This is the time the user last fetched their Emails.
last_login 976519640 This is the time they last logged in
frames 1 When set to 1, the user is using frames.
_nnew 0 This is the number of new Emails in the INBOX.
_unread 10 This is the number of unread Emails in the INBOX
prefix mail/ This is the currently used mail prefix.
pop_size 10000 This is the size of all folders that are stored on the web server. (ie POP folders)
host_num 0 This is the host that the user is currently logged in as.
last_cmd pick_edit This is the last command that the CGI processed for this user.
sort_on Subject: This is what the user is currently sorting on.
sort_reverse true When set, the order of the sort is in reverse.
sort_method text This shows the kind of sorting that should be done.
(text, date, number, read_unread, draft, new)