VISUALMAIL ENTERPRISE 3.05
System Administrator Guide
© 1998/99 Minter Software Corp.™
C H A P T E R |
1 |
Introduction to VisualMail |
About VisualMail
The inability to access your e-mail while you are away, was until now, one of the major problems. Configuring any conventional mail package to access your mailbox is annoying and sometimes impossible if your server is protected by firewalls, and why make your network unsecured disabling such protection in order to access your mail remotely?. Free Mail services such as Hotmail, force you to have an additional e-mail address and save your confidential mail on an untrusted server, something not very useful for most people.
That is why VisualMail was created, a fully featured web based mail software designed to enable any user to access his/her POP3/IMAP mailbox using a standard browser or web terminal.
With VisualMail there is no need to worry about configurations, firewalls, privacy or where you are, because it was designed with the security in mind, it runs on your server, you access it via web and you can customize it to fit your needs.
VisualMail supports unlimited users and works with UNIX mail servers as well as Microsoft Exchange and Lotus Notes Domino mail servers.
Choosing the right VisualMail version
VisualMail is available in two versions, "Standard version" and "Enterprise version". It's important that you understand the functional differences between the two versions in order to choose the more suitable one for your needs.
The standard version is a gateway to any POP3/IMAP4 mailbox, that fetches messages from a mail server and displays them in HTML format.
This version is more suitable for ISPs or companies where the users want to use VisualMail as a complement to their conventional software, for example, an user that is travelling and wants to check his email via web and then, when he is back home, downloads his mails using his conventional e-mail package.
The enterprise version is a fully featured mail program, that fetches messages from a mail server and stores them into an internal database, just like as Hotmail does. This version is more suitable for free mail providers (like Hotmail) or companies where the users want to use VisualMail as their conventional e-mail software, for example, an user that stores his mails on the VisualMail server and has access to them using a browser.
Features
Architecture Overview
VisualMail is written in C++ and its modular architecture makes it a scalable and multiplatform solution easily adaptable to new technologies.
All the data is handled by VisualMail as an object. All the objects are referenced with an Object identifier (also called Session identifier). Before processing an object, VisualMail checks the Object-ID against the Local Security Authority (called CSession) that validates if the user is logged in, if the session has not expired and if the user is allowed to gain access to the object.
The object accessed could be an attachment, an email address, a message or a particular action to perform.
All the internal data flow between the different modules is managed by the VisualMail Engine, these modules handle specific functions like interfacing with users or servers, and performing particular
actions. Let's take the example of an user downloading an attachment:
All the objects are requested and validated using the same method, but they are handled using a different handler (CFolder in this example).
The most important objects are:
CGIClass:
Handles the interaction with the user, it receives the data posted by the browser and processes it.CSmtp: Handles the communication with the SMTP servers.
CPop3: Handles the communication with the POP3 servers.
CImap: Handles the communication with the IMAP servers.
CSocket: Handles the TCP connections used by the CSmtp, CPop3 and CImap modules.
CMailSrv: Interfaces the CPop3 and CImap modules and processes RFC-822 headers.
CMime: Handles MIME, UUENCODE and ISO-8859 encoding and decoding.
CConfig: Handles the system and user configuration.
CSession: Handles Object-ID requests and validation.
CSyslog: Handles logging.
CFolder: Handles database object access.
C H A P T E R |
2 |
Installing VisualMail |
Installing VisualMail Enterprise
Follow this procedures if you are installing a new VisualMail site.
tar zxvf visualmail-3.05.tar.gz
cd visualmail-3.05/
su root
./setup
Then you will have to enter some directories information:
Installation directory [/usr/local/visualmail]:
The Installation directory is where all the VisualMail file will be installed.
Web server cgi-bin directory [/var/lib/httpd/cgi-bin]:
The cgi-bin directory is the cgi executable directory of your web server software where the VisualMail executable file will be stored.
Web server document root directory [/var/lib/httpd/htdocs]:
The document root directory is the html root directory of your web server software where the VisualMail gif files will be stored.
crontab -e
and add the following line (example):
00 05 * * * <your_install_directory>/bin/dbutil >/dev/null
The 'dbutil' program must be executed as root in order to open all the databases.
Upgrading VisualMail Enterprise
Follow this procedures if you are upgrading an existing 3.x VisualMail system.
tar zxvf visualmail-3.05.tar.gz
cd visualmail-3.05/
su root
./setup
Then you will have to enter some directories information:
Installation directory [/usr/local/visualmail]:
The Installation directory is where all the VisualMail file will be installed.
Web server cgi-bin directory [/var/lib/httpd/cgi-bin]:
The cgi-bin directory is the cgi executable directory of your web server software where the VisualMail executable file will be stored.
Web server document root directory [/var/lib/httpd/htdocs]:
The document root directory is the html root directory of your web server software where the VisualMail gif files will be stored.
NOTE: Do not copy the old visualmail.conf over enterprise.conf, because this version has more keywords on the configuration file.
crontab -e
and add the following line (example):
00 05 * * * <your_install_directory>/bin/dbutil >/dev/null
The 'dbutil' program must be executed as root in order to open all the databases.
./upgrade
This command will hash and index all the users databases.
C H A P T E R |
3 |
Configuring VisualMail |
The VisualMail configuration file
The enterprise.conf file contains all the configuration parameters of VisualMail and is located in the /etc directory. (Note: to comment a line append a # at the beginning of the line)
Configuring the SMTP server
VisualMail sends all the mails using any standard SMTP server like sendmail, that can be installed in the same machine that runs VisualMail or on a remote server.
To modify the SMTP server address, change the SMTPAddress parameter to match your SMTP server address. The SMTP address can be either an IP address or a FQDN (Full Qualified Domain Name).
Example:
SMTPAddress = smtp.mintersoft.com
If your SMTP server is running on a port different to 25, you can change it by modifying the SMTPPort parameter.
Example:
SMTPPort = 25
Configuring the POP/IMAP server
Both VisualMail standard and enterprise retrieve the mails from a POP3 or IMAP2/4 server. VisualMail calls this server the Main Mail Server, because is the default server that is used to download the user’s mails and must be always available. Like the SMTP server, the Main Mail Server (MMS) can be installed in the same machine that runs VisualMail or on a remote server.
To modify the Main Mail Server address, change the MMSAddress parameter to match your POP3 or IMAP server address. The Main Mail Server can be either an IP address or a FQDN (Full Qualified Domain Name).
Example:
MMSAddress = mail.mintersoft.com
Also, you must modify the server type to tell VisualMail which protocol to use when talking to the Main Mail Server. The server type can be either IMAP or POP3.
Example:
MMSType = Imap
for and IMAP server or,
MMSType = Pop3
for a POP server.
Besides changing the MMS server type, you must specify VisualMail which port to connect to, that is usually 110 for POP3 servers and 143 for IMAP4 servers, to modify this you must change the MMSPort parameter.
Example:
MMSPort = 110
for POP3 servers or,
MMSPort = 143
for IMAP4 servers.
If you don’t want VisualMail to remove the mails from the MMS once downloaded, you can set the MMSLeaveOnSrv parameter to Yes.
Example:
MMSLeaveOnSrv = Yes
Configuring the Authentication scheme
VisualMail supports two basic authentication methods to validate users, a file with passwd format or the Main Mail Server (this is called Cross Server validation).
The file validation method can be used to read the users and passwords from the /etc/passwd, the /etc/shadow file or from a separate file with the format:
user:crypted_password[:more data]
The Cross Server validation method authenticates the users against the Main Mail Server using the POP3 or IMAP protocol. This method is useful when the user database is stored on a Exchange Server® , a Lotus Notes® server or another.
Examples:
To enable file validation from the shadow file:
Validation = /etc/shadow
To validate from the passwd file:
Validation = /etc/passwd
To validate from the MMS server:
Validation = Cross Server
Configuring an Outgoing advertisement
You can append a footer with a customized message or an advertisement to every outgoing message. To configure this you must create a text file with your message, and specify its path in the OutgoingAd parameter. To disable Outgoing advertisement, append a # at the beginning of the line.
Example:
OutgoingAd = /usr/local/visualmail/conf/advertise.txt
Configuring Automatic Logout
VisualMail can be configured to automatic disconnect an user before some amount of time of inactivity. This feature is very useful for security purposes, if an user leaves a terminal connected VisualMail automatically will disconnect the session after a configurable amount of time. To disable automatic logout specify 0 in the AutoLogout parameter, or specify the number of minutes of inactivity to enable automatic logout.
Example:
AutoLogout = 30
Configuring the Attachment size limit
You can specify the maximum file size allowed to upload by an user from the compose message page, this is done by modifying the AttachLimit parameter. To disable the attach limit, specify 0 in the AttachLimit parameter, or specify the number of kilobytes allowed to upload.
Example:
Configuring Disk Quota
By default an user is allowed to use unlimited disk space, to change this you can modify the QuotaDisk parameter and specify how many megabytes a user can use or 0 to disable this feature.
Example:
QuotaDisk = 10
Configuring the Default Mails per Page
You can specify the default number of mails per page for every new user.
Example:
MailsPerPage = 10
Configuring Logging
To troubleshoot some problem or to view the activity of the users, you can configure the logging. The logging is performed by using the syslog daemon, using the LOG_LOCAL0 facility. By default the logging is disabled (level 0). To enable logging you must specify a log level from 1 to 4 in the LogLevel parameter. The level 1 logs logins and logouts, the level 2 logs the same as level 1 and several errors, the level 3 logs the same as level 2 and all the errors and finally the level 4 logs everything.
Example:
LogLevel = 4
Configuring the default domain name
The default domain name is used to send the HELO command to the SMTP server and to automatically generate the user’s e-mail address. Specify your mail domain name in the DefDomain parameter.
Example:
DefDomain = mintersoft.com
Configuring Multiple Domains
The list of supported domains by the system is read from a text file. This file is specified in the DomainList parameter.
Example:
DomainList = /usr/local/visualmail/conf/domains.conf
This file should contain the supported domain names, one per line.
Configuring the VisualMail URL
You must specify to VisualMail where the visualmail executable file is located from the web. This parameter is needed to create the HTML files POST info. This value is specified in the URLVisualMail parameter.
Example:
URLVisualMail = /cgi-bin/visualmail
Configuring the Template directory
The template directory is where all the HTX files are stored. The HTX files are used to generate the HTML pages.
Example:
TemplateDir = /usr/local/visualmail/htx
Configuring the DBUtil command
The DBUtil is the command used to clean the users databases. You have to specify it in the enterprise.conf file in order to enable the empty trash function.
Example:
DbutilCmd = /usr/local/visualmail/bin/dbutil
Configuring the Home directory
The home directory is where all the user data files are stored.
Example:
HomeDir = /usr/local/visualmail/data
Configuring the Temporary directory
The temporary directory is where all the temporary data is stored.
Example:
HomeDir = /tmp
Configuring the Language file
The language file contains all the messages displayed by VisualMail listed one per line, this file is language dependent, when you install a language extension this file is replaced. The path to this file is specified in the LangFile parameter.
Example:
LangFile = /usr/local/visualmail/conf/language.cfg
By modifying this file, you can customize date formatting options, error messages and some default texts.
The language file is common to both versions of VisualMail. (Note: Don't delete or add any line(s) of the language file, or you will receive error messages).
The date formatting macros are the same used by strftime():
%a The abbreviated weekday name according to the current locale.
%A The full weekday name according to the current locale.
%b The abbreviated month name according to the current locale.
%B The full month name according to the current locale.
%c The preferred date and time representation for the current locale.
%d The day of the month as a decimal number (range 01 to 31).
%H The hour as a decimal number using a 24-hour clock (range 00 to 23).
%I The hour as a decimal number using a 12-hour clock (range 01 to 12).
%j The day of the year as a decimal number (range 001 to 366).
%m The month as a decimal number (range 01 to 12).
%M The minute as a decimal number.
%p Either Am' or Pm' according to the given time value, or the corresponding strings for the current locale.
%S The second as a decimal number.
%U The week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week.
%W The week number of the current year as a decimal number, starting with the first Monday as the first day of the first week.
%w The day of the week as a decimal, Sunday being 0.
%x The preferred date representation for the current locale without the time.
%X The preferred time representation for the current locale without the date.
%y The year as a decimal number without a century (range 00 to 99).
%Y The year as a decimal number including the century.
%Z The time zone or name or abbreviation.
Configuring the Banned Users file
If you want to deny access to a specific user to VisualMail, you can do this by adding the username to the banned users file. The path to this file is specified in the BannedUsers parameter.
Example:
BannedUsers = /usr/local/visualmail/conf/banned.cfg
The banned users in this file are listed one per line.
(Note: Add to this list super users to avoid force brute password cracking)
Configuring the Sign Up Procedure
The enterprise version of VisualMail supports a customizable Sign Up procedure that allows your users to automatically create their accounts.
Every keyword between {} represents a field in the submitted form, for instance
{user} is the username, {pass} the password, {cpass} the crypt() password and any other variable different from those is taken directly from the submitted form.SignUpAddUser = /usr/sbin/useradd -c "{firstname} {lastname}" -s /bin/false -d /dev/null -p {cpass} {user}
The
SignUpAddUser keyword is the script to run in order to create a new user.SignUpChPass = /usr/local/visualmail/bin/chpass {user} {pass} /etc/shadow
The
SignUpChPass keyword is the script to run in order to change an user’s password.SignUpUsrChk = /usr/local/visualmail/bin/check_user.sh {user}
The
SignUpUsrChk keyword is the script to run in order to check if an username exists on the system.SignUpWelcome = /usr/local/visualmail/conf/welcome.txt
The
SignUpWelcome keyword is the path to the welcome text that is sent to every new user.SignUpSendWelcome = Yes
The
SignUpSendWelcome keyword is if VisualMail should send a welcome message to a new user.The message sender name (and e-mail) is configurable from the language file, lines 99 and 100.
The HTX Language
VisualMail creates all the HTML files using a language called HTX. The HTXs files contain a mini-language that is used to place dynamic text and objects in the HTML that is displayed to the end-user.
The structure of the VisualMail HTXs is similar to the HTXs used by Microsoft Internet Information Server®.
This language is very simple, it only has 'if' and 'while' control commands and tags that are used to print dynamic information and HTML objects.
Let's view an example of the HTX language:
1:<H1>Welcome <% UserFullName %> to VisualMail!</H1><BR>
2:<% if HaveMail %>
3:<B><U>You have mail!</U></B><BR>
4:<% while GetMail %>
5:<HR>
6: Message from: <% MsgFrom %><BR>
7: Subject: <% MsgSubject %><BR>
8: Size: <% MsgSize %><BR>
9: Date: <% MsgSize %><BR>
10: <% while end %>
11: <% else %>
12: <B><U>You don't have mail.</U></B><BR>
13: <% end if %>
Line 1 prints the Full Name of the current logged in user.
Line 2 checks if the user has mail on his mailbox, and if this condition is true the HTX is parsed until the <% else %> directive is found, otherwise the HTX is parsed from the <% else %> to the <% end if %> directive.
Line 4 is parsed from the <% while %> to the <% end while %> as many times as messages in the mailbox.
Lines 6 to 9 print information about each message.
Each HTX page has different commands, but there are some global commands that can be referenced from any page.
The following table describes the function of each HTX file:
File |
Name |
Description |
login.htx |
Login screen |
Where the login is performed. |
error.htx |
Error screen |
Displayed when an error occurs. |
index.htx |
Index Screen |
Displayed after the user logs in, usually this screen is used to specify frames information. |
optbar.htx |
Option Bar Screen |
Displayed as a frame, contains a toolbar. This screen doesn’t contain additional HTX commands. |
inbox.htx |
InBox Screen |
Where the messages are listed. |
viewmsg.htx |
Message View Screen |
Where a message is viewed. |
options.htx |
Options Screen |
Where the user selects which section to configure. |
filterconf.htx |
Filters Configuration Screen |
Where the filters are configured. |
persconf.htx |
Personal Configuration Screen |
Where the personal options are configured. |
servconf.htx |
Server Configuration Screen |
Where the additional mail servers are configured. |
address.htx |
Address Book Screen |
Where the e-mail addresses and mailing lists are maintained. |
folder.htx |
Folder Screen |
Where the folders are maintained. |
signconf.htx |
Signature Configuration Screen |
Where the signature is configured. |
compose.htx |
Message Compose Screen |
Where the messages are composed. |
logout.htx |
Logout Screen |
Displayed when the user logout. |
chpass.htx |
Password Change |
Where the password is changed. |
sustart.htx |
Sign Up Start |
Where the new user’s information is entered. |
suend.htx |
Sign Up End |
The end of the signup procedure. |
suerror.htx |
Sign Up Error |
Displayed when an erros occurs in the sign up procedure. |
prstart.htx |
Pass Reminder Start |
Where the user enters its login name. |
prform.htx |
Pass Reminder Input Form |
Where the user enters all its personal information. |
prend.htx |
Pass Reminder End |
If the password is succsesfully changed, this page is displayed. |
As you can see this is a very simple language but very helpful to customize VisualMail and change default behaviors.
The HTX files are stored in the Template directory under the template number that the user selects. For instance, if the user selects the template number two, all the HTX files will be retrieved from:
/template_dir/2
If you want to write your own HTX files, use as a guide the examples that come with VisualMail and read the Appendix A ( HTX command reference).
C H A P T E R |
4 |
Troubleshooting VisualMail |
Troubleshooting guide
# ls -la
-rwsr-sr-x 1 root root 569012 Jan 15 1997 visualmail
If visualmail is not SUID/SGID, run the commands:
chown root visualmail
chgrp root visualmail
chmod 6755 visualmail
Common Problems and its solutions
Problem:
Performing actions that take too much time (like downloading a very big mailbox), the user always receives after a constant amount of time a "the server returned an invalid or unrecognized" error message.Cause: Web server configuration issue.
Solution: Check the ScriptTimeout parameter in your web server's config file, by default most web server software kills the cgi application if no response is received for more than x time.
Problem: VisualMail returns a "Incomplete config file" error message.
Cause: Missing parameter in enterprise.conf
Solution: Check if the VisualMail configuration file enterprise.conf is located in the /etc directory and contains all the required parameters.
Problem: VisualMail returns a "Error reading language file" message.
Cause: VisualMail can’t access the language file.
Solution: Check if the language file specified in the enterprise.conf file is present and can be read from VisualMail.
Problem: VisualMail returns a "Error processing <file>.htx file" message.
Cause: <file>.htx can’t be read by VisualMail.
Solution: Check if the HTX directory specified in the enterprise.conf file is present and can be read from VisualMail. Also check is the <file>.htx file is present and can be read from VisualMail.
Problem: VisualMail returns a "Error parsing HTX file" message.
Cause: The HTX file selected can’t be accessed from VisualMail or contains incorrect HTX commands.
Solution: Check if the HTX path specified in the enterprise.conf file is present and can be accessed from VisualMail. Also check if the HTX file accessed contains any incorrect HTX command.
Problem: The images appear as broken links.
Cause: The /images directory can’t be accessed from the web browser.
Solution: Check if the /images directory is copied correctly in your web server html root directory.
Problem: The messages deleted are not cleaned at nights.
Cause: The dbutil program is not installed correctly in the cron file.
Solution: Read the installation procedure described in chapter 2.
A P P E N D I X |
A |
HTX Command Reference |
Global Commands
<% UserName %>
Prints the username of the current logged in user.
<% UserFullName %>
Prints the Full Name of the current logged in user.
<% UserCompany %>
Prints the Company name of the current logged in user.
<% UserEMail %>
Prints the e-mail address of the current logged in user.
<% DefaultDomain %>
Default domain name specified in enterprise.conf
<% LicenseName %>
Prints the licensed to name specified in enterprise.conf. If the key is demo key, the remaining days are also displayed.
<% AutoLogout %>
Automatic Logout time specified in enterprise.conf
<% StartForm %>
Starts a HTML form.
<% EndForm %>
Ends a HTML form.
<% HiddenVar %>
Prints all the hidden vars needed by VisualMail.
<% Goto Compose %>
Prints the Object-ID of the compose screen.
<% Goto Inbox %>
Prints the Object-ID of the Inbox screen.
<% Goto Address %>
Prints the Object-ID of the Address Book screen.
<% Goto Config %>
Prints the Object-ID of the configuration screen.
<% Goto Folder %>
Prints the Object-ID of the Folder screen.
<% Goto Logout %>
Prints the Object-ID of the Logout screen.
<% Goto Accept %>
Prints the Object-ID of the Accept command.
<% If HaveNoFrames %>
If the user is accessing VisualMail without frames, the HTX is parsed until an <% else %> or an <% end if %> is found.
error.htx commands
<% ErrorMsg %>
Prints the error message.
login.htx commands
<% LoginBox = x, y %>
Prints the Login text box, with x chars of length and y characters of max length.
<% PassBox = x, y %>
Prints the Password text box, with x chars of length and y characters of max length.
<% FramesCheck %>
Prints the select frames option check.
<% NoFramesCheck %>
Prints the select no frames option check.
index.htx commands
<% Goto OptionBar %>
Prints the Object-ID of the Option Bar screen.
<% Goto InboxNoFrm %>
Prints the Object-ID of the Inbox screen without frames support.
inbox.htx commands
<% If HaveMail %>
If the user has mail, the HTX is parsed until an <% else %> or an <% endif %> is found.
<% If HaveAttach %>
If a message has an attach, the HTX is parsed until an <% else %> or an <% endif %> is found.
<% If Urgent %>
If a message is urgent, the HTX is parsed until an <% else %> or an <% endif %> is found.
<% If DeletedItems %>
If the user is located on the Deleted Items folder, the HTX is parsed until an <% else %> or an <% endif %> is found.
<% While GetMail %>
The HTX is parsed until the <% while end %> command is found while the user has mails.
<% Goto SortByName %>
Prints the Object-ID of the Sort by Name command.
<% Goto SortBySubj %>
Prints the Object-ID of the Sort by Subject command.
<% Goto SortBySize %>
Prints the Object-ID of the Sort by Size command.
<% Goto SortByDate %>
Prints the Object-ID of the Sort by Date command.
<% Goto MsgCheck %>
Prints the CheckBox used to select a message.
<% Goto CheckMail %>
Prints the Object-ID of the Check Mail command.
<% MsgFrom %>
Prints the sender name of the message.
<% MsgSubject %>
Prints the Subject of the message.
<% MsgSize %>
Prints the message’s Size.
<% MsgDate %>
Prints the message’s sent date.
<% DFolderList = x %>
Prints the destination folders list with x lines of size.
<% CurrentPage %>
Prints the current page number.
<% MaxPage %>
Prints the max page number.
<% FolderList = x %>
Prints the folders list, with x lines of size.
<% CurrentFolder %>
Prints the current folder name.
<% EmptyTrash %>
Prints the Object-ID of the Empty Trash command.
viewmsg.htx commands
<% Goto Reply %>
Prints the Object-ID of the Message Reply Command.
<% Goto ReplyAll %>
Prints the Object-ID of the Message Reply All Command.
<% Goto Forward %>
Prints the Object-ID of the Message Forward Command.
<% Goto Delete %>
Prints the Object-ID of the Message Delete Command.
<% Goto Address %>
Prints the Object-ID of the Add to Address Book command.
<% MsgFrom %>
Prints the sender of the message.
<% MsgTo %>
Prints the recipients of the message.
<% MsgCc %>
Prints the carbon copy recipients of the message.
<% MsgSubject %>
Prints the subject of the message.
<% MsgDate %>
Prints the sent date of the message.
<% MsgBody %>
Prints the body of the message.
<% If HaveAttach %>
If a message has attachments, the HTX is parsed until an <% else %> or an
<% endif %> is found.
<% While GetAttach %>
The HTX is parsed until the <% while end %> command is found while the message has attachments.
<% MsgAttach %>
Prints the Object-ID of the attachment.
options.htx commands
<% Goto FilterConf %>
Prints the Object-ID of the Filters Configuration screen.
<% Goto SignConf %>
Prints the Object-ID of the Signature Configuration screen.
<% Goto PersonalConf %>
Prints the Object-ID of the Personal Configuration screen.
<% Goto AdvancedConf %>
Prints the Object-ID of the Advanced Configuration screen.
filterconf.htx commands
<% ItemNumber %>
Prints the filter number.
<% StatusCheck %>
Prints the filter status check box.
<% WhereList = x %>
Prints the list of "where to find the string" with x lines of size.
<% ConditionList = x %>
Prints the list of conditions to match with x lines of size.
<% MatchString = x, y %>
Prints the match string text box with x chars of size and a max length of y chars.
<% FolderList = x %>
Prints the list of folders with x lines of size.
<% While GetFilter %>
The HTX is parsed until the <% while end %> command is found while the message has filters to show.
persconf.htx commands
<% FullNameBox = x, y %>
Prints the Full Name text box with x chars of length and y chars of max length.
<% EMailBox = x, y %>
Prints the E-Mail text box with x chars of length and y chars of max length.
<% CompanyBox = x, y %>
Prints the Company Name text box with x chars of length and y chars of max length.
<% PageSizeBox = x, y %>
Prints the Page Size text box with x chars of length and y chars of max length.
signconf.htx commands
<% SignBox = x, y %>
Prints a signature text area with x rows and y columns.
servconf.htx commands
<% StatusCheck %>
Prints the server status check box.
<% ItemNumber %>
Prints the server number.
<% LoginBox = x, y %>
Prints the login name text box with x chars of length and y chars of maxlength.
<% PassBox = x, y %>
Prints the login pass text box with x chars of length and y chars of maxlength.
<% ServerBox = x, y %>
Prints the server text box with x chars of length and y chars of maxlength.
<% PortBox = x, y %>
Prints the port text box with x chars of length and y chars of maxlength.
<% Pop3Check %>
Prints the POP3 server option box.
<% ImapCheck %>
Prints the IMAP server option box.
<% LeaveMailCheck %>
Prints the Leave Mail on Server check box.
<% While GetServer %>
The HTX is parsed until the <% while end %> command is found while the message has servers to show.
address.htx commands
<% Goto Cancel %>
Prints the Object-ID of the Cancel command.
<% AddressList = x %>
Prints the list of addresses with x lines of size.
<% FullNameBox = x, y %>
Prints the full name text box with x chars of length and y chars of maxlength.
<% EMailBox = x, y %>
Prints the E-Mail box with x chars of length and y chars of length.
<% If Modify %>
If the user is in modify mode, the HTX is parsed until an <% else %> or an <% endif %> is found.
folder.htx commands
<% Goto Cancel %>
Prints the Object-ID of the Cancel command.
<% FolderList = x %>
Prints the list of folders with x lines of size.
<% FolderBox = x, y %>
Prints the folder text box with x chars of length and y chars of maxlength.
<% If Modify %>
If the user is in modify mode, the HTX is parsed until an <% else %> or an <% endif %> is found.
compose.htx commands
<% MsgTo = x, y %>
Prints the Message To text box with x chars of length and y chars of maxlength.
<% MsgCc = x, y %>
Prints the Message Cc text box with x chars of length and y chars of maxlength.
<% MsgBcc = x, y %>
Prints the Message Bcc text box with x chars of length and y chars of maxlength.
<% MsgSubject = x, y %>
Prints the Message Subject text box with x chars of length and y chars of maxlength.
<% MsgFiles = x, y %>
Prints the Attachments text box with x chars of length and y chars of maxlength.
<% PriorityLevel = x %>
Prints the priority levels list with x lines of size.
<% AddressList = x %>
Prints the Address List with x lines of size.
<% MsgBody = x, y %>
Prints the Message Body text area with x rows and y columns.
<% AttachBox = x %>
Prints the Attach text box with x chars of length.
<% SignCheck = x %>
Prints the Add Signature check box. If x is equal to ‘1’, the check box is selected by default, otherwise the check box remains unselected.
<% AddSentCheck = x %>
Prints the Add to sent items check box. If x is equal to ‘1’, the check box is selected by default, otherwise the check box remains unselected.
chpass.htx commands
<% OldPass = x, y %>
Prints the Old Password text box with x chars of length and y chars of maxlength.
<% NewPass = x, y %>
Prints the New Password text box with x chars of length and y chars of maxlength.
<% NewPass2 = x, y %>
Prints the New Password verification text box with x chars of length and y chars of maxlength.
<% PassReminder = x, y %>
Prints the Answer to Secret Question text box with x chars of length and y chars of maxlength.
<% QuestionReminder = x, y %>
Prints the Secret Question text area with x rows and y columns.
sustart.htx commands
<% LoginBox = x, y %>
Prints the New user’s account name text box with x chars of length and y chars of maxlength.
<% NewPass = x, y %>
Prints the New Password text box with x chars of length and y chars of maxlength.
<% NewPass2 = x, y %>
Prints the New Password verification text box with x chars of length and y chars of maxlength.
<% PassReminder = x, y %>
Prints the Answer to Secret Question text box with x chars of length and y chars of maxlength.
<% QuestionReminder = x, y %>
Prints the Secret Question text area with x rows and y columns.
<% DomainList = x %>
Prints the list of available domains combo box with x chars of size.
suerror.htx commands
<% ErrorMsg %>
Prints the error message.
suend.htx commands
<% UserEmail %>
Prints the New user’s account name.
prstart.htx commands
<% LoginBox = x, y %>
Prints the login name text box with x chars of length and y chars of maxlength.
prform.htx commands
<% NewPass = x, y %>
Prints the New Password text box with x chars of length and y chars of maxlength.
<% NewPass2 = x, y %>
Prints the New Password verification text box with x chars of length and y chars of maxlength.
<% PassReminder = x, y %>
Prints the Answer to Secret Question text box with x chars of length and y chars of maxlength.
<% QuestionReminder %>
Prints the Secret Question text.
<% UserEmail %>
Prints the User’s account name.