# Users

> - Default User Settings
> - User Directories
> - User Profiles
> - Changing Passwords
> - User Settings

### 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||@your.domain.name

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

> > ||user||@domain

> 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:
> >    1.2.3.4 netwinsite.com
> >    mail.netwinsite.com netwinsite.com
> >    So if the mail host is 1.2.3.4 or mail.netwinsite.com, the default reply address will be:
> >    ||user||@netwinsite.com
> >    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||@1.2.3.4
>     from admin@1.2.3.4
>     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

### User 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:

> > > workarea/u_fr/fred@domain.name

> 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/encoded_user@domain.name

> 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.

> 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.

### User Profiles

> 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 setup 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:

> > > pro_host
> > > pro_folder
> > > pro_from
> > > pro_rule
> > > pro_tcode
> > > pro_disk_quota
> > > pro__default_profile

### Changing Passwords

> WebMail has two methods available to allow the changing of passwords:

> - NetAuth
>   NetAuth is a CGI that allows mail user's information to be updated and changed using a web browser. Not all mail servers can be setup using NetAuth. DMail can be setup to use NetAuth. As long as your mail server uses the system accounts to determine valid usernames/passwords, you should be able to setup NetAuth with the external module, (ntauth or unixauth).
>   We suggest that all customers use NetAuth instead of poppassd if they can, as it is easier to setup. NetAuth also has more features. For more information on this, see the URL:
>   http://www.netwinsite.com/netauth
>   There are two methods for getting WebMail to run NetAuth.
>   1. This method automatically logs in to NetAuth v4.2h or higher. This requires ini settings as well as template changes. The ini settings are:
>   netwin_autologin /cgi-bin/netauth.cgi /var/spool/netauth &show=passwd.tpl
>   i.e: netwin_autologin-(space)-(relative url to your NetAuth CGI from your webserver root)-(space)-(netauth workarea)-(space)-(extra information to be passed to NetAuth)
>   Note: The information (URL, workarea, additional-stuff) must be in the correct order.
>   Add the following link in the config.tpl (and/or configf.tpl) template:
>   <a target="main" href="||action||?cmd=netwin_login-0&utoken=||utoken||">Change Password</a>
>   Note: netwin_login-0 will use the top "netwin_autologin" line in the ini file, netwin_login-1 will use the second, netwin_login-2 will use the third, etc, as this autologin feature can be used with other NetWin products.
>   2. Or, you can have users manually login to NetAuth, in which case the link (to the login page) would be:
>   <a href="||netauth_url||?cmd=login">Change Password</a>
> - Poppassd
>   Poppassd is a program that runs on port 106 of the mail server, and which does the password changing. This CANNOT be used if you are using DMail (our mail server) on external authentication. You must be using NetAuth. If you are using DMail (our mail server) then we suggest that you use NetAuth to change passwords.
>   To setup WebMail so that it uses poppassd you need to add the following link into the config.tpl (and/or configf.tpl) template:
>   <input type=image border="0" src="/nwimg/mail/change.gif" name="set_pass-0">
>   This will will cause WebMail to interface with poppassd protocol. For more details on poppassd please see the URL:
>   http://www.netwinsite.com/poppassd/

### 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.

> Label | Example | Explanation
> 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@1.2.3.4 | This is the reply address which is used when any messages are sent. The default setting for this is username@mail.host (or username@pop.host 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 setup as a hidden template setting. See FAQ Question 6 for more details.
> from | lynden@1.2.3.4 | This is the list of items in the user's pick list.
> reject | *@hotmail.com | 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)