MailServer Workgroupmail
MailServer Workgroupmail
User Guide
By Softalk Ltd
Contents
Introduction 1
Overview.................................................................................................................................... 1
Installation 2
Installing WorkgroupMail ......................................................................................................... 2
The Welcome Page ...................................................................................................... 2
The Select Folder Page ................................................................................................ 3
The Configuration Page ............................................................................................... 4
The Details Page .......................................................................................................... 4
ISP Page (ISP Configuration) ...................................................................................... 5
Account Information Page (ISP Configuration) .......................................................... 5
Internet Connection Page (ISP Configuration) ............................................................ 6
The Connection Page (ISP Configuration) .................................................................. 6
The Details Page (Enterprise Configuration) ............................................................... 7
The Database Page ...................................................................................................... 7
The Summary Page ...................................................................................................... 9
Configuring WorkgroupMail 11
The WorkgroupMail Administrator ......................................................................................... 11
Starting The WorkgroupMail Administrator ............................................................. 11
Users ........................................................................................................................................ 12
Adding a New User Manually ................................................................................... 12
Adding Users From the Active Directory .................................................................. 14
Associating a Manually Added User with the Active Directory ................................ 15
Editing a User's Properties ......................................................................................... 16
Deleting a User .......................................................................................................... 17
Marking a User as Away from the Office .................................................................. 17
Virtual Mailboxes .................................................................................................................... 18
Adding a New Virtual Mailbox ................................................................................. 18
Editing a Virtual Mailbox's Properties ...................................................................... 20
Deleting a Virtual Mailbox ........................................................................................ 21
Auto Responders ...................................................................................................................... 21
Adding an Auto Responder ....................................................................................... 21
Groups ..................................................................................................................................... 23
Adding a New Group ................................................................................................. 23
Deleting a Group ....................................................................................................... 23
Domains ................................................................................................................................... 24
Adding a New Domain .............................................................................................. 24
Editing a Domain‟s Properties ................................................................................... 27
Deleting a Domain ..................................................................................................... 28
ISPs .......................................................................................................................................... 28
Adding a New ISP ..................................................................................................... 29
Content Filtering 75
Overview .................................................................................................................................. 75
Content Filter User Interface .................................................................................................... 75
Rules .......................................................................................................................... 76
Adding a New Rule.................................................................................................... 76
Replacement fields..................................................................................................... 80
Rule ordering ............................................................................................................. 81
Virus Checking using the Content Filter .................................................................... 81
Configuring the Profanity Checker ............................................................................ 82
Dictionaries................................................................................................................ 83
Quarantined Messages ............................................................................................................. 84
LDAP Directory 98
Overview.................................................................................................................................. 98
Configuring the LDAP Directory ............................................................................................. 98
Configuring the Mail Clients ................................................................................................. 100
Configuring Outlook Express .................................................................................. 100
Configuring Outlook ................................................................................................ 101
IMAP 102
What Is IMAP? ...................................................................................................................... 102
Configuring IMAP ................................................................................................................. 103
Configuring Outlook Express .................................................................................. 103
Overview
WorkgroupMail is a fully featured mail server. It is designed to handle the e-mail
needs of any sized organization. Primarily, it operates as a standalone mail server for
organizations that host their own e-mail. Furthermore, it is capable of sending and
receiving mail from a variety of ISPs (Internet Service Providers) for organizations
that do not host their own e-mail and rely on an ISP for delivery of their e-mail.
Centralization of e-mail provides greater control and security over the
communications flowing in and out of your organization. WorkgroupMail provides
the ability to perform server based anti-virus checking and content filtering on all
inbound and outbound messages. Furthermore, WorkgroupMail is able to archive
each and every incoming, outgoing and internal message, for legal compliance.
Different organizations send and receive mail in different ways. For example, some
employ a variety of separate POP3 accounts, hosted by one or more ISPs. Some use a
single multiple drop POP3 account. Smaller companies sometimes have only a single
address POP3 account. Larger organizations, which host their own e-mail, send and
receive their e-mail directly, independent of an ISP, using SMTP. Some
organizations choose to centralise the storage of e-mail, requiring staff to collect their
e-mail using IMAP. WorkgroupMail provides a solution for all these scenarios.
WorkgroupMail can run on Windows NT4, Windows 2000 Professional and Server,
Windows 2003 Server and Windows XP. It has no special hardware requirements
over and above the mimimum requirements for the particular operating system,
except that it will require an amount of disk space proportionate to the number and
size of messages being stored.
This user guide describes in detail the procedure for installing and configuring the
software, specifically for your own environment.
Installing WorkgroupMail
Press Setup to run the WorkgroupMail Setup program. The Welcome page is
displayed after a short while.
The Setup program displays a wizard which will guide you through the installation of
WorkgroupMail. The first page of the wizard is the Welcome page. If you want step
by step instructions on how to configure WorkgroupMail and how to configure your
mail clients, then click on the “Click here for a step by step guide” link in this page.
Press Next to continue.
The next page requires you to read the license agreement and agree to the terms.
Press the Accept button to agree to the terms and to continue.
The next page lets you choose the installation folder and the data folder. By default,
WorkgroupMail will be installed to c:\program files\workgroupmail and the
data files will be located in c:\program files\workgroupmail\data. If you wish
to install WorkgroupMail to a different folder or disk, then use the Browse… button
to locate the appropriate folder.
Note: If you have previously installed WorkgroupMail to the folder specified in this
page or you have chosen to upgrade an older version of WorkgroupMail then you
will skip to the Summary page. If you wish to re-install completely you must remove
the SoftalkCollaborationSuite data source from the System DSN tab of the ODBC 32
Data Sources applet in Control Panel | Administrative Tools.
WorkgroupMail may be configured for use with an ISP, for use in a self-hosted mail
domain or for internal mail only. Choose the option that is appropriate to your
organization and press Next.
Ensure that you enter your e-mail address accurately, since Setup will use this to
configure certain settings in WorkgroupMail.
You should specify whether this account collects mail for everyone or just for you by
selecting the appropriate radio button. Press Next to continue.
Select the appropriate radio button. If you select the Dial-up to connect radio
button, you should specify a dial-up service to use. Press Next to continue.
The next page lets you specify when to connect to the ISP in order to send and
receive mail. If you wish to connect when the WorkgroupMail program is started,
tick the Connect on startup tick box. If you wish to connect when there are more
than n messages waiting to be sent, regardless of any other connection options, then
tick the Connect when n messages to send and enter the appropriate number
of messages. If you wish to connect on a regular basis, then tick the Connect every
n minutes and enter the appropriate interval in minutes. If you tick this tick box
then, by default, WorkgroupMail will connect every n minutes, only between the
hours of 9pm and 5pm, Monday to Friday and not at weekends. You can change this
by pressing the When… button.
You can choose to copy the existing data, or simply create a new database.
The last page is the Summary page which summarizes the choices you have made in
the wizard. Press Finish to begin the installation. When the installation is complete,
the a Successfully Installed dialog box is shown, allowing you to start the
WorkgroupMail server program and the administrator program.
This page lets you add one or more mailboxes that will be associated with this user.
Adding a mailbox defines an additional e-mail address for the user. To add a
mailbox, press the Add… button. The User Mailbox dialog box is displayed.
Enter the name of the mailbox into the Mailbox field and select the domain to which
this mailbox should be added. This action will effectively define an e-mail address
for the user. This is displayed at the bottom of the dialog box.
Note: Each mailbox that you add must be unique across the domain. If you try to add
a mailbox with the same name as an existing mailbox at that domain then
WorkgroupMail will warn you and prevent you from completing the action.
Press OK to save your changes and press Next on the Addresses page to continue.
The last page shown is the Forwarding page.
Select the users that you wish to import. You can use the Select All button to select
all the listed users. When you have selected the relevant users from the list, press
Next. The next page shown is the Deleted Users page. This page shows a list of
This page lets you choose which domain(s) the selected users should be added to.
You must select at least one domain from this page. Press Next to continue. The last
page shown is the Summary page.
This page shows a list of users that will be added to WorkgroupMail and a list of
users that will be deleted from WorkgroupMail. To perform the action, press Finish.
All imported users will be configured to use their Windows credentials as their local
account name and password. The local part of their e-mail address will be their
Windows user name. For example, if John Smith‟s Windows user name was jsmith
and he was added to the mycompany.com domain, his e-mail address will be
jsmith@mycompany.com.
Press OK to confirm the deletion. Note that by deleting a user, you will also be
deleting their messages. It is possible to delete several users at once by selecting the
Users entry in the left-hand list of the WorkgroupMail administrator and then
selecting the relevant users in the right-hand list and pressing the Delete key or by
right clicking and selecting Delete from the context sensitive menu.
Virtual Mailboxes
A virtual mailbox is similar to a user except mail sent to a virtual mailbox may not be
downloaded directly by a local POP3 mail client. Instead, e-mail received by a virtual
mailbox must be forwarded on to a WorkgroupMail user.
Unlike a user, you do not need to purchase a license for each virtual mailbox. This
means that you can set up an unlimited number of virtual mailboxes without requiring
corresponding user licenses.
Since virtual mailboxes may be forwarded on to a group, a virtual mailbox is an
effective way of distributing messages sent to certain addresses to an entire list of
local users.
Virtual mailboxes are typically used if you wish to present an e-mail address to the
outside world, such as sales@ourcompany.com or enquiries@ourcompany.com. E-
mail then sent to such addresses is not tied to a specific user or group of users. You
can change, at any time, the receiver of messages sent to these addresses without
changing the e-mail address that the sender must send to.
Note: Adding a virtual mailbox is not the only way to enable a user to receive mail
sent to more than one defined e-mail address. You can also simply add e-mail
addresses to the user, as described in the previous section. However, for e-mail
addresses where you will sometimes want to change the associated receiver, it is
more convenient to use virtual mailboxes for this task.
This page shows the list of e-mail addresses associated with this virtual mailbox. You
can define a new e-mail address for the virtual mailbox by pressing the Add…
button. The User Mailbox dialog box is displayed.
This page lets you specify the user or group that will receive messages sent to this
virtual mailbox. Select the appropriate user from the drop down list. If you wish to
forward to more than one person then select a group from this list.
Pressing Finish will save the details that you entered for this virtual mailbox and
will add the virtual mailbox to the list of virtual mailboxes in the WorkgroupMail
Administrator.
Auto Responders
An auto responder is similar to a virtual mailbox except it may be used to send an
auto-generated response to the sender. This is very useful, for example, if you wish to
provide an instant response every time someone e-mails your
enquiries@company.com address, confirming that their message has been received
and that their enquiry will be dealt with shortly.
In the User/Group drop down list you have the choice of not forwarding messages
received by the auto responder on to a user.
Enter the name of the group into the Name field and then select a user from the User
drop down list, whom you wish to add to the group, and press the Add button.
Repeat this procedure for all the other users who should belong to the group and
press the Finish button to save your changes.
Deleting a Group
You can delete a group by selecting the group and pressing the Delete key. You will
be asked to confirm that you wish to delete the group.
To add a new mailbox for this domain, press the Add… button. The Mailbox dialog
box is displayed.
Enter a mailbox name that is unique for this domain and select the user who should
receive messages sent to this mailbox from the Account drop down list of users.
Press OK to save your changes. Press Next in the Mailboxes page to continue.
The next page shown is the Unknown Recipients page. This page lets you define
what happens when a message is received, which is addressed to an e-mail address
that has not been defined in WorkgroupMail.
Deleting a Domain
You can delete a domain by selecting the domain and pressing the Delete key. You
will be asked to confirm that you wish to delete the domain.
Press OK to confirm the deletion. At least one domain must exist in WorkgroupMail.
If you try to delete the last domain, WorkgroupMail will warn you and will prevent
you from deleting it.
ISPs
If your organization uses one or more ISPs to send and/or receive mail, then
WorkgroupMail must know the details of these ISPs, so that it can communicate with
the appropriate servers and query the relevant POP3 accounts.
Enter a name for the ISP and press the Next button to continue. The next page shown
is the Servers page. This page lets you enter information about the mail servers that
you use to send and receive e-mail at your ISP.
If you have a permanent connection to the Internet or you connect to the Internet (for
mail) via a proxy server, then select the Direct connection radio button. If you
need to connect to your ISP through a dial up connection, then select the Dial up
using radio button and select the appropriate dial up service from the drop down
list.
The fields at the bottom of the page let you specify when to connect to the ISP. If you
wish to connect when the WorkgroupMail program is started, tick the On startup
after tick box. If you wish to connect when there are more than n messages waiting
to be sent, regardless of any other connection options, then tick the When n or
more outgoing messages are pending and enter the appropriate number of
messages. If you wish to connect when any message has waited more than a certain
number of minutes then tick the When any message has waited more than n
minutes and enter the appropriate number of minutes. If you wish to connect on a
regular basis, then tick the Every n minutes and enter the appropriate interval in
minutes. If you tick this tick box then, by default, WorkgroupMail will connect every
n minutes, only between the hours of 9pm and 5pm, Monday to Friday and not at
weekends. You can change this by pressing the When… button.
This page lists all the POP3 accounts that you have already defined. You can add a
new POP3 account by pressing the Add… button.
If the POP3 account that you wish to add is a single-user POP3 account, that is, it can
only be used to download messages for one e-mail address, then select the Single
user radio button and select, from the drop down list, the user who should receive
messages downloaded from this POP3 account.
If the POP3 account that you wish to add is a multi-user POP3 account, that is, it can
be used to download messages for several e-mail addresses, then select the Multiple
Enter the appropriate login name and password. WorkgroupMail will then use the
LOGIN authentication method to authenticate you when accessing the SMTP server
for sending mail.
To save the information about the ISP that you have entered, press the Finish
button. The ISP will be added to the list of ISPs in the WorkgroupMail administrator.
Public Folders
Public folders are message folders which may be accessed by all users of Softalk
Organizer (mail view) or IMAP clients that connect to WorkgroupMail. IMAP is
discussed in more detail later in this user guide.
Note: IMAP is just another protocol for accessing e-mail. An IMAP client is similar
to a POP3 client, except the main difference is that an IMAP client accesses
messages that are kept at the server. Unlike POP3, it never downloads messages in
order to store them locally. Softalk Organizer also relies on messages being stored at
the server. Since public folders are also stored at the server, then both Softalk
Organizer and IMAP clients may access the contents of public folders. For more
information on IMAP, see “IMAP” on page 102.
By defining a public folder, you can effectively create a mail folder to which all users
have access. If anyone adds a message to the folder, all other users will be able to
access the message. Similarly, if anyone deletes a message from a public folder, the
message will no longer be available to any other user.
To create a public folder, right click on the Public Folders entry in the left-hand list
of the administrator and select New Public Folder. The New Public Folder wizard
is displayed. Enter a name for the public folder and press Next.
The next page lets you define other user's access to this public folder.
Quarantine Areas
Quarantine areas are message folders that are available only to an administrator.
They are intended as repositories for messages that are identified as not being
suitable for delivery to their intended recipient. WorkgroupMail lets you define
multiple quarantine areas, thereby making it easy, for example, to keep separate
messages that are virus infected from messages that contain unacceptable language.
The Virus Protection plug-in and the Content Filtering plug-in can both move
messages to selected quarantine areas, as can any custom plug-ins developed by third
parties. It is possible to specify rules for quarantine areas so that you can control
whether quarantined messages will remain in the quarantine indefinitely, or whether
they will be allowed through after a certain amount of time or whether they will be
deleted after a certain amount of time.
You can create a new quarantine area by right clicking on the Quarantine Areas entry
in the left-hand window of the administrator and selecting New Quarantine
Area…. The New Quarantine Area wizard is displayed.
This page lets you specify whether messages entering the quarantine will remain
there indefinitely until manually removed or whether such messages will be allowed
through or deleted after a certain period of time. Press Finish to complete the
addition of the new quarantine. If you select the Allow messages through or
Delete messages radio button then you can specify the time constraints on this
particular option. For example, you may quarantine any messages identified as
personal mail and wish to have them kept in the quarantine until after office hours at
which point they may be released and sent during a period when the server is not so
busy. To achieve this, you can select the Allow messages through radio button
and the in time range radio button and press the Times… button and specify a
period during the day when such messages may be released from the quarantine and
sent.
What is Relaying?
The term relaying means accepting a message for delivery which is not addressed to
a local user. A mail server should be configured to relay messages for either trusted
hosts, e.g. all local users, or for authenticated users. Trusted hosts are determined
based on their connecting IP address. Authenticated users are identified by a
username and password. If a mail server accepts messages for delivery from non-
trusted and non-authenticated users then the server is said to be operating as an open
relay. Mail servers operating as an open relay are an easy target for senders of junk
mail and unsolicited commercial email. Certain resources on the Internet try to
identify open relay servers and subsequently add them to a black list. The result is
that, in an attempt to prevent the ever growing burden of junk mail, messages sent
from such servers may be rejected by many mail servers on the Internet.
Consequently, if your mail server is permanently connected to the Internet, it is
imperative that you correctly configure your relaying settings so as to avoid being
added to such black lists.
To resolve this problem, click on the here hotspot as requested. Alternatively, double
click on the Relay Settings entry in the left-hand window of the WorkgroupMail
administrator. The Relay Control property sheet is displayed.
To add a new trusted host, press the Add button. The Trusted Hosts dialog box is
shown.
If you enable this option, you must also specify a username and password to identify
the user of the mail client as an authenticated user. The username and password to
use for a particular user may be found by selecting the appropriate user from the left-
hand window of the WorkgroupMail administrator and looking for the values of
Local account name and Local account password, respectively.
For each incoming message, WorkgroupMail can look at the originator of the
message and the content of the message. If the originator's IP address has been black
listed or if the message contains known junk mail phrases (defined by you) or if the
sender matches one of your black listed junk sender e-mail addresses then
WorkgroupMail considers the message to be junk mail and processes it according to
the option you have specified. On encountering a junk message, WorkgroupMail can
refuse to accept the message (this does not apply when you receive e-mail via POP3),
it can delete the message, it can quarantine the message or it can simply mark the
message as spam so that it can be processed appropriately by the content filtering
component.
Enter the name of the spam server that you plan to use. This is for display purposes
only. Then enter the address of the spam server, either as a dotted IP address or as a
domain address. There are various spam servers available on the Internet. Some
charge you to use their service, others are free, such as ORDB. For more information,
see http://www.ordb.org. Press OK to save your changes.
Enter the full email address or a wildcarded string (representing several email
addresses) into the E-mail address field and press OK. The new email address will
appear in the list. Alternatively, you can import a list of addresses by pressing the
Import… button and browsing to a file of email addresses. Each email address
should be listed on a line of its own.
If you know the IP address of a source SMTP server that you trust, then you can enter
this IP address or a range of IP addresses into the Trusted Hosts page of the Spam
Filtering property sheet. For example, you may choose to enter the entire local area
network IP address range to ensure that messages sent from local users are not
checked for spam. To add a trusted host, press the Add… button in the Trusted
Hosts page. The Trusted Hosts dialog box is displayed.
SpamCleanser
SpamCleanser is an optional subscription service, which you can subscribe to in
order to automatically filter out spam messages. It has a high detection rate of around
80%-90% of all spam messages. If WorkgroupMail is configured to use
SpamCleanser, then when a message arrives, WorkgroupMail will pass the message
to SpamCleanser and SpamCleanser will return to WorkgroupMail whether or not it
believes the message to be a spam message. This service works in addition to the
standard filtering based on content, IP address and spam servers.
To turn on SpamCleanser, go to the SpamCleanser page of the Spam Filtering
property sheet and tick the Enable SpamCleanser tick box.
When you press OK, SpamCleanser will be turned on for a 30-day trial period. It will
start detecting spam messages and quarantining them or marking them for subsequent
processing by the content filter (depending upon which setting you have specified in
the Settings page of the Spam Filtering property sheet). By default, WorkgroupMail
The Updates page lets you choose the frequency with which WorkgroupMail checks
for new spam definition files. You can perform a manual check by pressing the
Update Now button. Doing so checks for spam definition updates and also looks up
and updates your registration status.
IP Screening
WorkgroupMail gives you full control over who can and who cannot establish a
connection with your mail server in order to send and receive e-mail. By default,
WorkgroupMail lets anyone establish a connection to the SMTP, POP3 and IMAP
servers. Once a connection has been established, the connecting person (i.e. their
mail client) must then go on to authenticate itself in order to send or receive mail.
However, if you want to prevent certain persons from connecting at all, you can use
the IP screening functionality to restrict which source IP addresses will be accepted
or declined when attempting to connect to WorkgroupMail.
To change the IP Screening settings, double click on the IP Screening entry in the
left-hand list of the WorkgroupMail administrator. The IP Screening property sheet it
displayed.
You can specify either a single IP address, an IP address range or a domain name
(which resolves to a valid IP address), by selecting the appropriate radio button at the
top of the dialog box. You can also specify whether the IP address(es) that you have
entered should be rejected or accepted. Finally, you can specify which interfaces this
exception applies to. By default, the exception will apply to all interfaces, but if the
computer which runs WorkgroupMail has more than one interface (for example a
local interface and an Internet interface), then you can select the appropriate interface
from the drop down list at the bottom of the dialog box.
The IP Screening property sheet contains a Raise and a Lower button. These
buttons can be used to provide exceptions to exceptions. For example, if you wanted
to enable all your local users to connect to your server except the range 192.168.0.10
through 192.168.0.20, then you could do this by adding two entries to the list of
exceptions:
The settings on this page let you specify how frequently WorkgroupMail will retry
sending a message to the destination server in the event of failure. You may also
specify the length of time over which WorkgroupMail will continue to try to send the
message and the number of hours or days between sending successive warnings to the
message originator.
Multiple-User Account
In addition to creating a local POP3 account for each user so that they may download
any messages sent to them from the WorkgroupMail message store, it is also possible
to enable a local POP3 account that can be used to retrieve all messages for all users
from the WorkgroupMail message store. This is sometimes referred to as a catch-all
account. You enable the catch-all account by ticking the Enable a local POP3
account for retrieving all incoming messages from WorkgroupMail tick
box and entering a user name and password that must be used by the mail client in
order to access this account.
Note: It is rare that you would want to enable a catch-all account in WorkgroupMail.
You may enable such an account if you had another mail server that wanted to
receive all the messages received by WorkgroupMail in one go.
Unknown Recipients
If a message arrives that is addressed to a mailbox that does not exist within the
relevant domain then the Unknown Recipients page lets you specify what happens to
that message. For example, if you have set up WorkgroupMail with the domain
mydomain.com and you have defined mailboxes john, sue and mike, then
WorkgroupMail will know how to deliver messages sent to
john@mydomain.com, sue@domain.com and mike@domain.com .
However, if a message arrives addressed to paul@domain.com, WorkgroupMail
needs to know which user to forward this message to.
Note: Individual domains can over-ride this setting if they select anything other than
[Default] in the drop down list in the Unknown Recipients page of the Domain
property sheet.
To add a static route, select the Routing page of the Settings property sheet and press
the Add… button. The Routing Entry dialog box is displayed.
Account Quotas
The Enterprise edition of WorkgroupMail lets you control the maximum number of
messages or the maximum size of messages that all users or each specific user is
permitted to store. These are called account quotas. You can control the account
quotas for a specific user by selecting the Account Quotas page of the relevant User
property sheet. You can control the general setting for account quotas by selecting
the Account Quotas page of the Settings property sheet. Any user that has not been
assigned specific account quotas will use the settings in this page.
Both pages let you define the maximum number of messages that may be stored at
once and the maximum total size of all messages that may be stored. The Account
Quotas page in the User property sheet has a Use default settings tick box. If this
is unticked, the remaining controls in this page will become enabled, letting you
specify individual quota settings for this user.
If a message arrives for any user that has exceed their account quota then, provided
the message has been received via SMTP (account quotas do not work when
Account Pruning
The Enterprise edition of WorkgroupMail can automatically delete certain messages
older than a certain number of days and can automatically delete user accounts that
have been inactive for more than a certain number of days. This activity is referred to
as account pruning. Account pruning helps keep control over the amount of disk
space used by users‟ message stores and removes the need for manual maintenance of
the data store. You can control the account pruning for a specific user by selecting
the Account Pruning page of the relevant User property sheet. You can control the
general setting for account pruning by selecting the Account Pruning page of the
Settings property sheet. Any user that has not been assigned specific account pruning
settings will use the settings in this page.
The Account Pruning page lets you choose to automatically delete a user account if it
has been inactive for more than a certain number of days. An inactive account is one
that has not been logged into from either POP3 or IMAP within the specified number
of days. To automatically delete inactive user accounts, tick the Automatically
delete account if inactive for more than n days and specify the appropriate
number of days.
Another option lets you choose to automatically delete messages in a user‟s inbox
that are more than a certain number of days old. You can do this by ticking the
Automatically delete messages in the inbox/holding folder than are
older than n days tick box and specify the appropriate number of days.
Account Restrictions
The Enterprise edition of WorkgroupMail makes it possible to restrict certain users
from using browser-based email or from connecting to the IMAP server or from
sending and receiving mail externally. This can be done unilaterally or on a per-user
basis. The Account Restrictions page in the Settings property sheet lets you specify,
For example, if you wanted to prevent a certain user from sending mail externally,
except to certain recipients, you could do this by ticking the This user cannot
send mail to the outside world tick box and pressing the Exceptions button
and specifying a list of the people to whom the user may send mail. If you wanted to
prevent the user from receiving mail except from certain senders, you could do this
by ticking the This user cannot receive messages from the outside world
and pressing the Exceptions button and specifying a list of the people from whom
the user may receive mail.
Advanced Settings
WorkgroupMail lets you specify whether an upper limit should be imposed on the
size of messages that you receive via SMTP or download from your ISP's POP3
server. You can do this from within the Advanced page.
Tick the Do not download messages larger than tick box and enter the
appropriate value into the edit field.
Security Settings
One of the threats to any email server is a deliberate denial of service attack (DoS) by
an unscrupulous individual. An attack like this is designed to prevent the mail server
from functioning by targeting any known weaknesses of the mail server. For this
reason, WorkgroupMail lets you conceal its identity in the server connection
response. Doing so makes it more difficult for an attacker to know what
vulnerabilities to target and therefore less likely to launch an attack.
You can choose to conceal the connection response by ticking the Suppress
server specific information in protocol greeting in the Security page.
View Description
All Shows all activity.
Events Shows all sent and received messages and any warnings or errors,
such as failure to connect to POP3 servers.
Output Shows successful and failed connections to ISPs POP3 and SMTP
servers. Also shows local connections made to the WorkgroupMail
protocol servers.
SMTP Server Shows SMTP protocol logs of computers connecting to
WorkgroupMail in order to send mail.
SMTP Client Shows SMTP protocol logs of WorkgroupMail sending mail to other
SMTP servers.
POP3 Client Shows POP3 protocol logs of WorkgroupMail collecting mail from
ISPs POP3 servers.
POP3 Server Shows POP3 protocol logs of local POP3 clients connecting to
WorkgroupMail in order to collect mail.
IMAP Shows IMAP protocol logs of local clients synchronizing their
IMAP mailboxes.
The picture above shows a message in the Outgoing queue, which is waiting to be
sent. If you right click on the message and select Properties a Message dialog box
is displayed, showing details of this particular message. If you send a message to a
single recipient then the message won't be available for very long in the outgoing
queue, since WorkgroupMail will generally send it almost immediately. However, if
you send a message to many recipients, the message will remain in the queue for the
time it takes to send the message to all of the recipients. During this time, you can
open the message as described earlier and you can select the Recipients tab.
Running Diagnostics
WorkgroupMail has a way of determining whether or not it is correctly configured. It
provides you with a tool called the Diagnostic checker. It does not catch all problems
but it is a good start. To run the Diagnostic Checker, select Run Diagnostics from
the Edit menu. If there are no problems, a message box is displayed confirming this:
If there are specific problems that need your interaction, the appropriate message
boxes will be displayed, prompting you for various inputs. If there are one or more
warnings, then a Diagnostics dialog box is displayed at the end of the check, listing
all the warnings that were found.
Make any changes to the settings, as appropriate, and then re-run the diagnostics
check to ensure that there are no remaining warnings.
One or more result lines should show an MX preference result with the mail
exchanger pointing to the name or IP address of the computer which runs
WorkgroupMail. Provided the response is successful, it will be possible to configure
WorkgroupMail as a standalone mail server.
The best way to configure WorkgroupMail as standalone Mail Server is to run the
installation program and select Standalone mail server from the Configuration
page of the Setup wizard. To specify advanced settings or to re-configure
WorkgroupMail as a standalone mail server after you have installed, open the
Domain property sheet, for the relevant domain, and select the Sending page.
Enter the IP address of your primary and secondary DNS servers. When you press
OK, WorkgroupMail will now be configured as an enterprise mail server.
WorkgroupMail will now receive e-mail sent directly by source SMTP servers and
when a user sends a mail message, it will now be routed directly to the recipients‟
destination SMTP server.
Note that it is still possible to collect mail from an ISP using POP3 when configured
as a standalone server. This can be done by configuring another domain to collect
mail from an ISP, rather than directly in the Sending page of the appropriate Domain
property sheet.
Press Next. In the next page, enter your organization‟s details, your name and your
e-mail address and press Next.
The last page is the Summary page which summarizes the options that you have
chosen. Press Finish in this page.
When you press Finish you will be configured for internal mail for one user. Use the
WorkgroupMail administrator to add further users. WorkgroupMail Enterprise
version gives you the ability to prevent users from sending external messages. To
prevent all users from sending Internet mail, press the Settings button and go to the
Account Restrictions page.
Enter a e-mail address (which may include wildcards) into the Address field and
press the Add button. WorkgroupMail will then prevent all users from sending
messages externally unless the recipients to which a message is sent match those
listed in the Exceptions list.
If you want to restrict only certain users from sending mail externally then you can do
this from the Restrictions page of the User property sheet (Enterprise edition only).
Licensing WorkgroupMail
In order to continue using WorkgroupMail beyond the 30-day trial period, you must
purchase a keycode. You can do this by visiting
You should enter the company name, exactly as specified in the e-mail message and
then enter the keycode, again, exactly as specified in the e-mail message. When you
have entered the last character of the keycode, the text at the bottom of the Enter
Keycode dialog box will change to signify that the keycode has been accepted and
will indicate the number of user licences that you have purchased. Press OK to save
the changes. From now on when you start the WorkgroupMail program, you will no
longer see the warning message, indicating the number of days left in the trial period.
You now have a fully licensed version of WorkgroupMail.
Once WorkgroupMail is configured so that it can communicate with the ISP and all
the user accounts have been set up in the WorkgroupMail administrator, you are now
ready to set up the e-mail clients. All e-mail clients will provide you with a way to
specify the SMTP (outgoing mail) and POP3 (incoming mail) servers and to enter an
account name and password to gain access to the POP3 account. To configure the e-
mail client to work with WorkgroupMail, you should specify the four pieces of
information as follows:
SMTP Server (Outgoing mail) This should be set to the IP address of the computer
running WorkgroupMail.
POP3 Server (Incoming mail) This should also be set to the IP address of the
computer running WorkgroupMail.
Account name If you double click on the user in the WorkgroupMail
Once this information has been entered, you should be able to check for new mail in
the mail client. You should also be able to compose a message and send it. You will
see it appear as a Sent Message in the WorkgroupMail administrator.
Press Next to continue. In the Internet Mail Logon page, enter the
Local POP3 Login Name and Local POP3 Password, for the person
whose mail client you are configuring, into the Account name and
Password fields, respectively.
You can find out the Local POP3 Login Name and Local POP3
Password by selecting the appropriate user in the left-hand list of the
WorkgroupMail administrator and viewing the appropriate information
in the right-hand window. Press Next to continue. This will take you to
the Finish page. Click on the Finish button to complete the
configuration. Provided that the WorkgroupMail server program is
running, you should now be able to send and receive mail to and from
WorkgroupMail.
Enter the full name of the person whose mail client you are configuring
into the Name field. Enter the name of the organization on the
Organization field and enter the person‟s e-mail address in the E-
mail address field.
Select the Servers page. Enter the IP address of the computer which
runs WorkgroupMail into the Incoming Mail (POP3) and Outgoing
Mail (SMTP) fields.
Content Filtering
Overview
The content filter provides you with a powerful set of functions for content checking
of both incoming and outgoing messages. For example, you may wish to check any
outgoing messages for viruses or unacceptable language or you may wish to prevent
users from sending out company sensitive information or stop certain users from
receiving messages containing JPEG or GIF attachments, or automatically add legal
and commercial disclaimers to the end of each message. All this and much more is
possible using the content filtering component.
Select one or more conditions that must be satisfied in order for the rule to fire. You
may choose from the following:
You will notice that when you select certain conditions, the description shown in the
window below will display blue underlined words. This represents data that you must
specify. For example, if you select the condition "Message contains specific words ",
Enter the word or words that you want to match in the Word field and press the Add
button. Press OK to save your changes. If you entered more than one word (i.e. more
than one entry) then the condition will hold true if any of those words are contained
in the message.
If you enter more than one condition for the rule then all conditions must be met in
order for the rule to fire. If you wish to fire a rule based on one condition being met
or another condition being met then you must achieve this by creating separate rules.
When you select certain conditions, another duplicate condition will appear in the
conditions list. This lets you specify multiple conditions of the same type. For
example, if you select the MIME header field exists condition you may want to
also check for the existence of another field. The content filtering lets you do this by
adding a MIME header field exists #2 entry to the condition list, allowing you to
specify another header that must exist in order for the rule to fire.
When you have specified the appropriate conditions, Press Next to specify what
action should be taken when the conditions are met.
If the conditions of the rule are met, you may choose one or more of the following
actions to be performed:
Replacement fields
When defining alerting messages in the Actions page, it is possible to use
replacement fields in order to give the recipient of the alert some useful context. For
example, if an administrator was to be alerted of an outgoing message being
quarantined because it contained rude words, the administrator would need to know
the subject of the outgoing message, who sent it, who it was to and possibly when it
was sent. An example of such a message is shown below:
Rule ordering
The content filter lets you specify the order in which rules are processed. The ability
to choose the order in which rules are processed in conjunction with the “Jump to
rule” action gives you more control over how you deal with each sent or received
message. For example, if you wanted to perform one action if a message contained a
certain word in its subject and another action if the message did not contain the word,
then you can define three rules as follows:
Rule Event/Condition/Action
Rule 1 Check messages when they arrive. If message subject contains word
then jump to rule 3.
Rule 2 Check messages when they arrive. Always do action A.
Rule 3 Check messages when they arrive. Always do action B.
Another use of rule ordering is where you wish to perform one action if conditions A
and B are satisfied and another action if only condition A is satisfied. In this case,
you simply order the rules so that the rule which checks for condition A and B comes
above the rule which checks for condition A alone. To modify the ordering of a rule,
select the rule from the Rules page of the Content Filtering Settings property sheet
and press the Raise or Lower buttons appropriately.
Dictionaries
The Dictionaries tab of the Content Filter property sheet lets you specify one or more
dictionaries of words that you want to refer to from within the conditions of the Rule
property sheet.
Quarantined Messages
Once your e-mail policy has been defined then if any messages are sent or received
which violate the specified rules, the messages will be moved to the selected
quarantine as appropriate and will not be sent or received. An administrator may
view the messages in any quarantine and can permit the message to be released by
clicking on the appropriate message using the right mouse button and selecting
Release message(s) from quarantine.
When this option is selected, WorkgroupMail asks you if you wish to add the sender
address(es) or domain(s) to the white list, such that messages from this person may
be treated differently in the future.
Anti-Virus Protection
Overview
The Virus Scanning feature lets you virus check any incoming or outgoing message
using an integrated professional anti-virus engine, powered by BitDefender.
Note: This component will function during its 30-day trial period, but must be
purchased separately after the 30-day trial period.
Anti-Virus Updates
By default, WorkgroupMail checks for new updates every day. You can change this
default and you can also manually check for updates from within the Updates page.
Overview
Certain legal compliance requirements, such as Sarbanes-Oxley, requires certain
organizations to archive their email for a number of years. WorkgroupMail's message
archiver can capture every incoming, sent and internal message, storing it to a
database, with full indexing for efficient searching of the archive.
Configuration
You can configure the Message Archive to archive messages for all users, or just
certain users. You can also configure it to store attachments for all users, for certain
The Scope page lets you specify whether or not to archive messages and whether or
not to archive message attachments. The Exceptions button next to each option lets
you control this on a per-user basis. For example, if you wanted to archive messages
for all users except one, you would select the Archive messages radio button and
press the Adjacent Exceptions… button. The Archive Exceptions dialog box is
displayed.
You can choose which users' messages will not be archived by selecting the user
from the drop down list and pressing the Add button.
The Storage page lets you specify which database will be used for storing archived
messages.
The Lifetime page lets you specify how long archived messages will be kept in the
archive database.
You have the choice of keeping messages indefinitely or deleting them after a certain
length of time, or transferring them to a file archive after a certain length of time.
Once messages are in a file archive, they will no longer be searchable.
You may search on messages sent from a specific user or email address, or from
anyone. You may search on messages received by a specific user or to a specific
address or by anyone. You can also specify a date range over which to search.
Finally, you can search for specific text in the subject or body of the message. When
you have entered the relevant search criteria, press the Search button. The results
will be displayed in the lower window.
You can deliver an archived message to a specific user by right clicking on one of the
message results and selecting Forward… from the context menu. The Select user
to forward to dialog box is displayed.
Overview
The WorkgroupMail Mailing List is a powerful tool that allows you to broadcast
announcements to your customers and business contacts by sending one e-mail to a
mailing list address. The membership of a mailing list can range from a handful to
several thousand. Special offers, newsletters and forthcoming events can be sent to
the members of your list with just one e-mail. You can also set up discussion lists
where replies to the initial announcement are automatically circulated to all members.
You can publicise the mailing list on your website or in e-mail messages that you
send. New members can join the list by completing an on-line form or by sending an
e-mail to the mailing list with the word “subscribe” as the subject of the message.
The WorkgroupMail Mailing List automates the subscription process by sending out
a confirmation message, which the subscriber must respond to within a predefined
time frame. This process is called double opt-in. This way your news is only
circulated to those who have expressed a genuine interest. If a subscriber wishes to
leave the mailing list, he must follow the instructions at the foot of the e-mail and the
Mailing List will do the rest.
The Mailing List plug-in can manage an unlimited number of mailing lists. To add a
new mailing list, double click on the Mailing List icon in the left-hand list of the
administrator. The Mailing List property sheet is displayed. This is where mailing
lists are created, modified, deleted and administered.
Click the New button to create a new mailing list. Enter a name for the list and enter
an e-mail address for the mailing list. This is the address that is used when sending a
message to the mailing list and to which replies in a discussion are sent. This should
be a valid address which is handled by WorkgroupMail, e.g. news@mydomain.com.
Select a moderator from the list of WorkgroupMail users. This is the only person
allowed to send an announcement or initiate a discussion as a non-member.
WorkgroupMail lets you import a list of users from a file. This file should be
formatted as follows:
“John Smith”<john.smith@company.com>
“Paul Eacott”<paule@hotmail.com>
fred.jones@domain.com
sue.simmonds@yahoo.com
The name is optional, but if included, should appear in quotes. Each name/address
pair should start on a new line.
If you wish to import a list of users then press the Import button. A file chooser
dialog box is shown. Select the file containing the list of names and addresses and
press OK.
Holding members
When someone initially subscribes to a mailing list or when they are initially
manually invited to the list, they are placed in the holding members list. They remain
in this list until they confirm their membership or until they have been in the holding
members list for longer than 10 days (the default holding duration). It is possible to
modify the holding duration from the Settings page of the Mailing List property
sheet.
You can view the people currently held in the holding members list by selecting the
Advanced page of the appropriate mailing list property sheet and pressing the
Holding Members button. A list of unconfirmed members is displayed. From here,
you may delete any held members or convert them to full members of the list.
Customizing responses
For each mailing list, you can customize the responses that are sent to the subscriber
or member. The following responses may be customized:
Replacement fields
Inside the body of each response message, you can include certain replacement fields
in order to make each message more context aware. In the Mailing List Invitation and
Request responses you must include the <%RequestGUID%> replacement field.
WorkgroupMail will replace this field with a code which will enable it to identify the
context of a response to one of its outgoing messages. The permitted replacement
fields are as follows:
LDAP Directory
Overview
The LDAP Directory makes it possible for users to share and lookup names and
email addresses from their mail client. The LDAP Directory extracts the names and
addresses from all incoming and outgoing messages and automatically adds the
information to a server-based data store.
Once enabled, the LDAP Directory will expose the names and addresses via an
LDAP server. This means that any LDAP client, such as Outlook Express or Outlook
may use the LDAP Directory to lookup e-mail addresses from a name.
Once the LDAP Directory is enabled, you will be able to open a new Compose
Window in your mail client, and enter the first few letters of a person‟s name into the
To: field and then press the Check button. The mail client will communicate with
WorkgroupMail in order to determine the full name and e-mail address of the
required recipient.
By default, the LDAP Directory does not expose the names and addresses via an
LDAP server. In order for your mail client to make use of the names and addresses in
the LDAP Directory, you must first turn on the LDAP server. You can do this from
within the Settings page of the LDAP Directory property sheet.
In the Check E-mail Addresses page, ensure that you select the Yes radio button as
shown below:
Press Next and then Finish. You will now be able to bring up a new Compose
window and enter into the To: field the first few letters of the name of a recipient that
exists in the LDAP Directory. When you press Ctrl+K, Outlook Express will lookup
and complete the name, assigning it an e-mail address.
Configuring Outlook
Ensure that Outlook is configured for Corporate mode (for versions Outlook 2000 or
less). Select Services… from the Tools menu. The Services dialog box will
appear. Press the Add… button and select Microsoft LDAP Directory from the
Add Service to Profile dialog box. Press OK. The LDAP Directory Service dialog
box is displayed.
IMAP
What Is IMAP?
IMAP stands for Internet Message Access Protocol. It is a protocol that mail clients,
such as Outlook or Outlook Express use for accessing messages held on a mail
server. It differs from POP3 in that it enables a client to access and manipulate
messages held on the server as if they were local. The idea behind POP3 is that the
mail client transfers the messages from the server to its local message store. With
IMAP, the messages and message folders always remain on server and are just
accessed or modified from the mail client. The advantage of this is that it then
becomes possible to access and manipulate mail from more than one computer or
from more than one client.
When applied to WorkgroupMail, this means that it becomes possible to access the
same messages and message folders from your mail client, such as Outlook or
Outlook Express, and from Softalk Organizer.
When used in conjunction with the public folders functionality provided by
WorkgroupMail, IMAP becomes a powerful methodology for sharing message
folders.
You can find out the Local Account Name and Local Account Password by selecting
the appropriate user in the left-hand list of the WorkgroupMail administrator and
viewing the appropriate information in the right-hand window. Press Next to
continue. This will take you to the Finish page. Click on the Finish button to
complete the configuration. When you do this Outlook Express will ask you if you
want to download the folders for this account. Press Yes. Provided that the
WorkgroupMail server program is running, Outlook Express will download the
person‟s folders making all their email available to the mail client.
Overview
Softalk Organizer is a browser-based application for shareing calendars, contacts and
managing email. It can be installed alongside WorkgroupMail. When you purchase a
license for WorkgroupMail, you can use the mail part of Softalk Organizer as part of
your license.
Press Next to show the license page, which you must agree to by pressing the
Accept button. When you press the Accept button, Softalk Organizer will display
the select folder page, which allows you to choose the location to install Softalk
Organizer to.
Press Next to continue. The next page lets you specify which web site Softalk
Organizer will be installed to. Usually, you will only have one web site defined and
this will be called Default Web Site.
You must choose the same platform as used by WorkgroupMail. If you do not, the
Softalk Organizer setup will move your WorkgroupMail database to the alternate
platform that you specify here. For example, if you installed WorkgroupMail with a
JET database, you must select JET Database as the platform for Softalk Organizer.
The final page summarizes the choices you have taken. Press Finish to start
installing. Once you have installed, you will be able to browse to
http://localhost/organizer in order to start the Softalk Organizer application.
Initially, Softalk Organizer will provide you with Calendar, Contact and Mail views,
during its 30 day trial period, however, once the trial period has expired, unless you
Then enter the user name and password of a WorkgroupMail user and press the
Login button.
If you are within the trial period of Softalk Organizer, the Calendar view will be
displayed. This is outside the scope of this user guide. Simply click the Mail button
in the mode shortcut bar to go into the Mail View.
Mail View
Softalk Organizer lets you send, receive and manage rich text emails from within
your web browser.
Unknown recipients
If there are any recipients that cannot be resolved, the message will not be sent.
Instead a Choose Recipients dialog box will be displayed, letting you specify the
required recipient for each unknown entry.
Drafting a message
Sometimes, you may want to save a message without sending it so that you can
continue working on it at a later time. Organizer lets you do this by composing the
message as described above and then pressing the Save button. The New Message
window will close and the drafted message will be stored in the Drafts folder.
When you want to continue composing the message, select the Drafts folder in the
left-hand window and double click on the appropriate message. The message will
appear in the compose window, ready to be edited and sent.
Reading a message
When you receive a new message, it will appear at the top of the middle window,
highlighted in bold font. To read the message, select it, by clicking on it with the left
mouse button. The body of the message will appear in the right-hand window.
To forward a message, click on the Forward button in the toolbar. Doing this will
display the New Message window, with the To:, Subject: and body fields filled out
appropriately.
Forwarding a message
The Select Folder dialog box is displayed. Select the folder to which you wish to
move the messages and press OK.
Select the View mail from a POP3 mailbox radio button and enter the name of
the POP3 server, along with the login name and password of the POP3 account. The
port should always be 110.
Mail View will refresh to show the Inbox renamed to Inbox (pop3 server). When you
click on this folder, after a short delay, the contents of the POP3 account will be
displayed. Organizer will not download or delete messages from this account unless
you manually delete a message or move it to another folder.
You can search for a message by entering a search phrase into the Look for: window
and pressing the Find Now button. A filtered view of messages will be displayed
that match the entered criteria. To remove the filter, press the Clear button.
When the user selects the I am out of the office radio button, they will be
prompted to specify the date that they are due back in the office. The date that they
specify must be a future date. When they press OK, WorkgroupMail will have
marked them as away from the office. WorkgroupMail will automatically mark the
user as back in the office on the date that they are due back. The user can mark
themselves as being back in the office at any time by clicking on the I am back in
the office radio button in the Out of Office page and pressing OK.
WorkgroupMail Plug-ins
Overview
WorkgroupMail is an extensible product in that software plug-ins may be imported
into WorkgroupMail in order to perform specific processing of incoming and
Installing a Plug-in
WorkgroupMail plug-ins come in the form of a DLL file. You can import a plug-in
into WorkgroupMail by selecting Import Plug-in from the File menu of the
WorkgroupMail administrator program. When you do this, an Import Plug-in wizard
is displayed.
Use the Browse… button to locate the plug-in DLL file or enter it directly into the
Filename field and press Next to continue.
The last page shown is the Summary page which confirms the filename of the plug-in
you are about to import.
Deleting a Plug-in
You can delete a plug-in by selecting it in the WorkgroupMail administrator program
and pressing the Delete key. You will be asked to confirm that you wish to delete
the plug-in.
Overview
Developers can extend and tailor WorkgroupMail to specific requirements in two
ways:
Plug-in development
WorkgroupMail API
By developing plug-ins, it is possible to change the way WorkgroupMail processes
inbound and outbound messages. By using the WorkgroupMail API, it is possible to
make programmatic changes to the administrative settings in WorkgroupMail and to
programmatically send messages through WorkgroupMail.
Developing Plug-Ins
WorkgroupMail has the ability to add software plug-ins which can perform
processing on incoming and outgoing messages before they are sent or received. This
powerful feature makes it possible for you to tailor WorkgroupMail for a particular
need. Plug-ins may be written in Visual C++ or in Visual Basic or in any language
that supports COM and/or automation. Visual Basic is the preferred method and this
section describes the process of writing such an application using Visual Basic as an
example.
Whenever a message is sent or received, a certain method (or function) in your
program will be called, passing you the name of a file which contains the message in
its entirety in MIME format. You may do anything within this function, including
deleting this file, moving it to another user, or mailing it externally. What you return
from this function determines whether or not WorkgroupMail sends the message to
the message quarantine.
When your plug-in is imported into the WorkgroupMail administrator, it will be
visible as an entry in the left-hand list. When a user double clicks on the plug-in
entry, another function will be called in your program, enabling you to show
whatever user interface you wish. This may be anything from a message box, to a
multi-page property sheet to a full blown application.
EditProperties()
Syntax: EditProperties( )
This function is called whenever the plug-in entry is double clicked in the
WorkgroupMail administrator. This function takes no arguments and returns nothing
back to the caller.
Ideally, this function should create a modal dialog box or property sheet, allowing the
user to change any settings associated with the plug-in.
DefaultName()
Syntax: DefaultName( ) As String
This function is called by the WorkgroupMail Administrator in order to query the
name of the plug-in. The plug-in name will be used to display the plug-in in the left
hand window in the WorkgroupMail Administrator.
So, for example, you might return a typical DefaultName string as follows:
DefaultName = "Sample Plug-in"
GetProperties()
Syntax: GetProperties() As String
This function is used to display the properties (or settings) associated with the plug-
in, in the right hand window of the WorkgroupMail Administrator when the user
clicks on the plug-in entry in the left-hand window.
The string that you return from this function represents all the properties and values
of the plug-in. The format of the string is as follows:
Property 1 & Value 1 & Property 2 & Value 2….
So, for example, you might return a typical property string as follows:
GetProperties = "Name&Sample Plug-in&Folder&" & "c:\temp" &
"&Date&" & "12/4/01"
Overview
The WorkgroupMail API provides programmatic control over some of the features in
WorkgroupMail. Most of the objects and methods relate to the administration of
WorkgroupMail, however there are also specific methods for creating and sending
messages programmatically via WorkgroupMail. The WorkgroupMail API is made
up of the following automation objects.
WMSession
WMSession is the object that represents a login session with WorkgroupMail. The
caller must log on to a session, either as an administrator, or as a user, before being
permitted to perform most other operations. The WMSession object is the only object
that needs to be explicitly created. All other objects may be accessed from this
object. The following code is an example of how to create a WMSession object in
Visual Basic:
Properties
LocalPOP3LoginName
Description: The local POP3 login name for the workgroup. This is the login
name for an account which exposes all the messages held in
WorkgroupMail for download.
Type: String
LocalPOP3Password
Description: The local POP3 password for the workgroup. This is the password
for an account which exposes all the messages held in
WorkgroupMail for download.
Type: String
UnknownRedirectUser
Description The WMUser object that unknown mail is forwarded to.
Type: WMUser object
WorkgroupName
Administrator
Description: The WMUser object that is the administrator of the workgroup.
This is the first user that was created when WorkgroupMail was
installed.
Type: WMUser object
LogCommunications
Description: Specifies whether or not all SMTP, POP3 and IMAP
communications should be logged to a file.
Type: Boolean
LogFile
Description: The full path and name of the file used to log all SMTP, POP3 and
IMAP communications.
Type: String
ClientConnectionInterface
Description: The interface that the POP3 server listens on, for client connections.
It takes the form of an IP address in dot notation . It must match one
of the local IP addresses of the computer, which runs
WorkgroupMail.
Type: String
ServerConnectionInterface
Description: The interface that the SMTP server listens on, for client connections
(or other mail servers). It takes the form of an IP address in dot
notation. It must match one of the local IP addresses of the
computer, which runs WorkgroupMail.
Type: String
IMAPConnectionInterface
Description: The interface that the IMAP server listens on, for client connections
(or other mail servers). It takes the form of an IP address in dot
notation. It must match one of the local IP addresses of the
computer, which runs WorkgroupMail.
Type: String
PurgeEventsAge
Description: The age, in days, that event log entries need to be before they are
purged. This represents the corresponding UI settings in the Purging
page of the Settings property sheet.
Type: Long Integer
DontDownloadLargeMessages
Description: Specifies if large messages are to be left on the server when
downloading mail from ISPs. Represents the corresponding UI
settings in the Advanced page of the Settings property sheet.
Type: Boolean
LargeMessageSize
Description: The size, in bytes, of the largest message that may be downloaded.
Represents the corresponding UI settings in the Advanced page of
the Settings property sheet.
Type: Long Integer
OpenRelay
Description: Sets or gets the open relay property of WorkgroupMail. Returns
True if WorkgroupMail is configured as an open relay. Allows the
caller to configure WorkgroupMail as an open relay.
Type: Boolean
RelayAuthenticated
Description: Specifies if mail can be relayed using SMTP authentication. This
option is ignored if OpenRelay is true. If this property is true then, if
the local sender has authenticated themselves, using SMTP
authentication, they will automatically be permitted to relay mail to
addresses outside the domain.
Type: Boolean
AQLimitStoredMessages
Description: A boolean that specifies if a default limit will be imposed on the
maximum number of messages allowed in a user account mailbox.
User account quotas will override this setting. This setting only
AQStoredMessageLimit
Description: The default account quota for the maximum number of messages
that can be stored in a user account mailbox. Dependant on
AQLimtStoredMessages being true. User account quotas will
override this setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Quotas page of the Settings property sheet.
Type: Long Integer
AQLimitStorageSize
Description: A global boolean setting that specifies if a limit will be imposed on
the maximum amount of disk space that can be occupied by
messages in a user account mailbox. User account quotas will
override this setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Quotas page of the Settings property sheet.
Type: Boolean
AQStorageSizeLimit
Description: The default account quota, in Kb, for the maximum amount of disk
space that can be occupied by messages in a user account mailbox.
Dependant on AQLimtStorageSize being true. User account quotas
will override this setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Quotas page of the Settings property sheet.
Type: Long Integer
APAutoDeleteInactiveAccount
Description: A global boolean setting that specifies if inactive accounts will be
deleted automatically. Specific user account pruning will override
this setting. This setting only applies to the Enterprise edition. It
represents the corresponding user interface settings in the Account
Pruning page of the Settings property sheet.
Type: Boolean
APInactiveDays
Description: The default number of days that an account has to be inactive before
it is automatically deleted . Dependent on
APAutoDeleteInactiveAccount being true. Specific user account
pruning will override this setting. This setting only applies to the
APDeleteInboxMessages
Description: A global boolean setting that specifies if old messages in the inbox
will be purged. The Inbox is where WorkgroupMail initially
delivers new messages for a particular user. Specific user account
pruning will override this setting. This setting only applies to the
Enterprise edition. It represents the corresponding user interface
settings in the Account Pruning page of the Settings property sheet.
Type: Boolean
APDeleteInboxMessageDays
Description: The default number of days old that a message must be before it is
automatically purged from the Inbox. Dependent on
APDeleteInboxMessages being true. Specific user account pruning
will override this setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Pruning page of the Settings property sheet.
Type: Long Integer
APDeletePersonalFolderMessages
Description: A global boolean setting that specifies if old messages in any
personal folders will be purged. Personal folders are folders that are
created in Softalk Organizer or using an IMAP client. Specific user
account pruning will override this setting. This setting only applies
to the Enterprise edition. It represents the corresponding user
interface settings in the Account Pruning page of the Settings
property sheet.
Type: Boolean
APDeletePFMessageDays
Description: The default number of days old that a message must be before it is
automatically purged from any personal folder. Dependent on
APDeleteInboxMessages being true. Specific user account pruning
will override this setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Pruning page of the Settings property sheet.
Type: Long Integer
APDeleteDeletedMessages
Description: A global boolean setting that specifies if deleted messages will be
purged. Deleted messages are messages that exist in the Deleted
Items folder. Specific user account pruning will override this
APDeleteDeletedMessageDays
Description: The default number of days old that a deleted message must be
before it is automatically purged from an account. Dependent on
APDeleteDeletedMessages being true. Specific user account
pruning will override this setting. This setting only applies to the
Enterprise edition. It represents the corresponding user interface
settings in the Account Pruning page of the Settings property sheet.
Type: Long Integer
ARCanUseWebMail
Description: A global boolean setting that specifies whether or not a user can use
Softalk Organizer. Specific user account restrictions will override
this setting. This setting only applies to the Enterprise edition. It
represents the corresponding user interface settings in the Account
Restrictions page of the Settings property sheet.
Type: Boolean
ARCanUseIMAP
Description: A global boolean setting that specifies whether or not a user can use
IMAP. Specific user account restrictions will override this setting.
This setting only applies to the Enterprise edition. It represents the
corresponding user interface settings in the Account Restrictions
page of the Settings property sheet.
Type: Boolean
ARCanSendExternalMessages
Description: A global boolean setting that specifies whether or not a user can
send external mail. If false, the exceptions list will prevail. Specific
user account restrictions will override this setting. This setting only
applies to the Enterprise edition. It represents the corresponding
user interface settings in the Account Restrictions page of the
Settings property sheet.
Type: Boolean
ARCanReceiveExternalMessages
Description: A global boolean setting that specifies whether or not a user can
receive external mail. If false, the exceptions list will prevail.
Specific user account restrictions will override this setting. This
setting only applies to the Enterprise edition. It represents the
SpamFilterType
Description: Specifies the action to perform on detection of a spam message.
This corresponds to the user interface in the Settings page of the
Spam Filtering property sheet. The following values are valid.
0. Do nothing
1. Filter spam and place in specified quarantine
2. Filter spam and delete/reject messages.
3. Add a header to the message for subsequent detection in the
content filter (if appropriate).
Type: Short integer
SpamFilterDefaultMessageType
Description: Sets or gets how WorkgroupMail should treat messages in terms of
spam mail. The following values are valid.
0. No junk mail filtering
1. Treat all mail as junk mail except for white list.
2. Treat all mail as non-junk unless specifically identified as such
by the black list, the spam servers or SpamCleanser.
Type: Short integer
SpamQuarantine
Description: Sets or gets the quarantine area that is used to hold messages that
are detected as spam messages.
Type: WMQuarantineArea object
SMTPServerPort
Description: Sets or gets the port used for listening for incoming SMTP
connections. This corresponds to the user interface in the Advanced
page of the Settings property sheet.
Type: Short integer
POP3ServerPort
Description: Sets or gets the port used for listening for incoming POP3
connections. This corresponds to the user interface in the Advanced
page of the Settings property sheet.
Type: Short integer
DefaultOutOfOfficeReply
Description: Sets or gets the global out of office reply. This setting can be
overridden on a per-user basis.
Type: String
Methods
Login
Description: Logs into the WorkgroupMail session. Most operations cannot be
performed unless this function has successfully been called. The
administrator password may be changed once successfully logged
in.
Syntax: Login (sPassword as string)
Parameters: sPassword is the administrator password.
Return type: Boolean
Example:
bLoggedIn = session.Login("AdminPwd")
Logout
Description: Log out of the WorkgroupMail session.
Syntax: Logout()
Parameters: None
Return type: None
SetAdministratorPassword
Description: Set the administrator password. You must be logged in for this
method to work.
Syntax: SetAdministratorPassword (sNewPassword as string)
Parameters: sNewPassword is the new password string.
Return type: Boolean indicating if the call was successful. If not logged into the
session then false will be returned.
AddUser
Description: Adds a user with the given name to the WorkgroupMail list of users.
You must be logged in for this method to work.
Syntax: AddUser(sName as string)
Parameters: sName is the string that specifies the name of the user to be added.
Return type: WMUser object that is the user added. Returns nothing if an error
occurs such as not logged into the session.
Example:
set user = session.AddUser("Paul Kennedy")
GetFirstUser
Description: Gets the first user in the list of WorkgroupMail users. You must be
logged in for this method to work.
Syntax: GetFirstUser()
Parameters: None
Return type: WMUser object of the first user. Returns nothing if not logged into
the session.
GetNextUser
Description: Get the next user in the list of WorkgroupMail users after the user
passed into this method. Returns nothing if the user passed in is
nothing or the last user You must be logged in for this method to
work.
Syntax: GetNextUser(user as object)
Parameters: user is a WMUser object returned by a previous call to
GetFirstUser() or GetNextUser().
Return type: WMUser object of the next user. Returns nothing if there is no next
user.
DeleteUser
Description: Delete the given user from the list of WorkgroupMail users. You
must be logged in for this method to work.
AddISP
Description: Add a new ISP to WorkgroupMail with the given name You must
be logged in for this method to work.
Syntax: AddISP(sName as string)
Parameters: sName is a string specifying the name of the new ISP.
Return type: WMISP object which is the newly added ISP.
GetFirstISP
Description: Gets the first ISP in the list of WorkgroupMail ISPs. You must be
logged in for this method to work.
Syntax: GetFirstISP()
Parameters: None
Return type: WMISP object of the first ISP. Returns nothing if not logged into
the session.
GetNextISP
Description: Get the next ISP in the list of WorkgroupMail ISPs after the ISP
passed into this method. Returns nothing if the ISP passed in is
nothing or the last ISP. You must be logged in for this method to
work.
Syntax: GetNextISP (isp as object)
Parameters: isp is a WMISP object returned by a previous call to GetFirstISP()
or GetNextISP().
Return type: WMISP object of the next ISP. Returns nothing if there is no next
ISP.
DeleteISP
Description: Delete the given ISP from the list of WorkgroupMail ISPs You
must be logged in for this method to work..
Syntax: DeleteISP(isp as object)
Parameters: isp is a WMISP object returned by a previous method call.
Return type: Boolean indicating success or failure.
AddVirtualMailbox
Description: Add a new virtual mailbox to WorkgroupMail with the given name.
You must be logged in for this method to work.
GetFirstVirtualMailbox
Description: Gets the first virtual mailbox in the list of WorkgroupMail virtual
mailboxes. You must be logged in for this method to work.
Syntax: GetFirstVirtualMailbox()
Parameters: None
Return type: WMVirtualMailbox object of the first virtual mailbox. Returns
nothing if not logged into the session.
GetNextVirtualMailbox
Description: Get the next virtual mailbox in the list of WorkgroupMail virtual
mailboxes after the virtual mailbox passed into this method. Returns
nothing if the virtual mailbox passed in is nothing or the last virtual
mailbox. You must be logged in for this method to work.
Syntax: GetNextVirtualMailbox(vmb as object)
Parameters: vmb is a WMVirtualMailbox object returned by a previous call to
GetFirstVirtualMailbox() or GetNextVirtualMailbox().
Return type: WMVirtualMailbox object of the next virtual mailbox. Returns
nothing if there is no next virtual mailbox.
DeleteVirtualMailbox
Description: Delete the given virtual mailbox from the list of WorkgroupMail
virtual mailboxes. You must be logged in for this method to work.
Syntax: DeleteVirtualMailbox(vmb as object)
Parameters: vmb is the WMVirtualMailbox object to be deleted.
Return type: Boolean indicating success or failure.
AddJunkMailEntry
Description: Adds a mail address to the black list of junk mail addresses. You
must be logged in for this method to work.
Syntax: AddJunkMailEntry(sJunkMailAddress as string)
Parameters: sJunkMailAddress is a string which is a junk mail address.
Return type: Boolean indicating success or failure.
GetFirstJunkMailEntry
GetNextJunkMailEntry
Description: Gets the next junk mail address after the junk mail address passed
in. You must be logged in for this method to work.
Syntax: GetNextJunkMailEntry(sJunkMailAddress as string)
Parameters: sJunkMailAddress is a junk mail address string which is got from a
previous call to GetFirstJunkMailEntry() or
GetNextJunkMailEntry().
Return type: String which is the next junk mail address.
DeleteJunkMailEntry
Description: Deletes the junk mail address passed in. You must be logged in for
this method to work.
Syntax: DeleteJunkMailEntry(sJunkMailAddress as string)
Parameters: sJunkMailAddress is the junk mail address string to be deleted.
Return type: Boolean indicating success or failure.
DisableSave
Description: Disables saving changes to the WorkgroupMail data store. To
enable changes to be saved you must call EnableSave() some time
after this method call. This function might be called if a lot of
changes are to be made so they can be made quickly without
updating the data store and then the data store is updated when
EnableSave() is called.
Syntax: DisableSave()
Parameters: None
Return type: None
EnableSave
Description: Enables saving changes to the WorkgroupMail data store. If
changes were made that have not been saved to the data store then
this function will save those changes.
Syntax: EnableSave()
Parameters: None
Return type: Boolean indicating success or failure.
GetVirtualMailboxByID
Description: Gets the virtual mailbox object with the ID passed in. You must be
logged in for this method to work.
Syntax: GetVirtualMailboxByID(lID as long)
Parameters: lID is the Long Integer specifying the ID of the virtual mailbox to
be returned.
Return type: WMVirtualMailbox object with the ID passed in. Returns nothing if
the virtual mailbox cannot be found with the given ID.
GetISPByID
Description: Gets the ISP object with the ID passed in. You must be logged in
for this method to work.
Syntax: GetISPByID(lID as long)
Parameters: lID is the Long Integer specifying the ID of the ISP to be returned.
Return type: WMISP object with the ID passed in. Returns nothing if the ISP
cannot be found with the given ID.
GetSentMessages
Description: Gets a list object which contains a snapshot of all sent messages at
the time of the method call.
Syntax: GetSentMessages()
Parameters: None
Return type: WMMessageList object containing a snapshot of the sent messages.
GetReceivedMessages
Description: Gets a list object which contains a snapshot of all received messages
at the time of the method call.
Syntax: GetReceivedMessages()
Parameters: None
Return type: WMMessageList object contains a snapshot of the received
messages.
AddGroup
Description: Create a new user group object with the passed in name.
Syntax: AddGroup(sName)
Parameters: sName is a string specifying the name of the new group
Return type: WMGroup object
GetFirstGroup
Description: Gets the first group in the list of WorkgroupMail groups. You must
be logged in for this method to work.
Syntax: GetFirstGroup()
Parameters: None
Return type: WMGroup object of the first group. Returns nothing if not logged
into the session.
GetNextGroup
Description: Get the next group in the list of WorkgroupMail groups after the
group passed into this method. Returns nothing if the group passed
in is nothing or is the last group. You must be logged in for this
method to work.
Syntax: GetNextGroup (group as object)
Parameters: group is a WMGroup object returned by a previous call to
GetFirstGroup() or GetNextGroup().
Return type: WMGroup object of the next group. Returns nothing if there is no
next group.
DeleteGroup
Description: Delete the given group from the list of WorkgroupMail groups. You
must be logged in for this method to work.
Syntax: DeleteGroup(group as object)
Parameters: group is a WMGroup object returned by a previous method call.
Return type: Boolean indicating success or failure.
LoggedIn
GetLastErrorString
Description: Returns the last error string returned produced by a function call
Syntax: GetLastErrorString()
Parameters: None
Return type: String which is the last error string text.
GetMessageFromFilename
Description: Returns a message object from a message file. The message file
must contain a MIME formatted message.
Syntax: GetMessageFromFilename(sFilename as string)
Parameters: sFilename is a string specifying the message filename
Return type: WMMessage object
LoginUser
Description: Logs into a WorkgroupMail user account
Syntax: Login(sUserAccount sUserPwd)
Parameters: sUserAccount and sUserPwd are string variables specifying the
users‟ account name and password
Return type: WMUser object.
CreateSubFolder
Description: Creates a sub folder under the WorkgroupMail installation folder.
Nested sub-folders can be created by use of the backslash character.
Syntax: CreateSubFolder(sFolderName)
Parameters: sFolderName is a string variable representing the sub folders name
Return type: Boolean indicating success or failure.
Example: CreateSubFolder(“Logs\Archive”).
This will create the folder Archive under the folder Logs. If Logs
does not exist then this will be created also.
DeleteSubFolder
Description: Deletes a sub folder under the WorkgroupMail installation folder.
Nested sub-folders can be deleted by use of the backslash character.
AddPublicFolder
Description: Creates a public message folder
Syntax: AddPublicFolder(sFolderName)
Parameters: sFolderName is a string variable specifying the name of the public
folder
Return type: Object of type WMPublicFolder.
Example:
Set PubFold = session. AddPublicFolder(“SalesOrders”)
GetFirstPublicFolder
Description: Returns the details of the first listed public folder
Syntax: GetFirstPublicFolder()
Parameters: None
Return type: Object of type WMPublicFolder.
GetNextPublicFolder
Description: Returns the details of the next listed public folder
Syntax: GetNextPublicFolder(PublicFolder as object)
Parameters: PublicFolder is an object of type WMPublicFolder. It represents the
public folder preceding the one required in the public folder list.
Return type: Object of type WMPublicFolder.
DeletePublicFolder
Description: Deletes the specified Public folder
Syntax: DeletePublicFolder(PublicFolder)
Parameters: PublicFolder is an object of type WMPublicFolder. It represents the
public folder to be deleted.
Return type: Boolean indicating success or failure.
GetPublicFolderByID
GetGroupByID
Description: Returns details of the group specified by its group ID.
Syntax: GetGroupBy(ID as long)
Parameters: ID is a long integer representing the ID
Return type: Object of type WMGroup.
AddQuarantineArea
Description: Adds a new quarantine area.
Syntax: AddQuarantineArea(sQuarantine as string)
Parameters: sQuarantine is a string specifying the name of the new quarantine
area
Return type: Object of type WMQuarantineArea.
GetFirstQuarantineArea
Description: Returns the details of the first listed quarantine area.
Syntax: GetFirstQuarantineArea()
Parameters: None
Return type: Object of type WMQuarantineArea.
GetNextQuarantineArea
Description: Returns details of the next listed quarantine area.
Syntax: GetNextQuarantineArea(QuarantineArea as object)
Parameters: QuarantineArea is an object of type WMQuarantineArea and is the
quarantine area listed before the one required.
Return type: Object of type WMQuarantineArea.
DeleteQuarantineArea
Description: Deletes the specified quarantine area.
Syntax: DeleteQuarantineArea(QuarantineArea as object)
Parameters: QuarantineArea is an object of type WMQuarantineArea and is the
quarantine area to be deleted.
Return type: Boolean indicating success or failure.
AddTrustedHostDomain
Description: Adds a new Trusted Host domain
Syntax: AddTrustedHostDomain(sDomain as string)
Parameters: sDomain is a string specifying the domain name of the new Trusted
Host
Return type: Object of type WMAddressOrRange .
AddTrustedHostSingle
Description: Adds a new Trusted Host by IP address
Syntax: AddTrustedHostSingle(lIP as long)
Parameters: lIP is a long integer representing the IP address of the new Trusted
Host. The long integer consists of four bytes. The high order byte
represents the left hand side of the IP address in dot notation and the
low order byte represents the right most part of the IP address
Return type: Object of type WMAddressOrRange.
Example: The IP address 192.168.0.25
could be represented by
C0 A8 00 19 Hex or
3232235545 in long integer (decimal) format
AddTrustedHostRange
Description: Adds a new range of Trusted Hosts by IP address
Syntax: AddTrustedHostRange(lIPstart as long lIPend as long)
Parameters: lIPstart and lIPend are long integers specifying the start and end IP
address of the new Trusted Host range. Each long integer consists of
four bytes. The high order byte represents the left hand side of the
IP address in dot notation and the low order byte represents the right
most part of the Ip address
Return type: Object of type WMAddressOrRange.
Example: The IP address 192.168.0.25
could be represented by
C0 A8 00 19 Hex or
DeleteTrustedHost
Description: Deletes a Trusted Host
Syntax: DeleteTrustedHost(Host as object)
Parameters: Host is the object of type WMAddressOrRange.
Return type: Boolean indicating success or failure.
GetFirstTrustedHost
Description: Returns the first Trusted Host listed in WorkgroupMail
Syntax: GetFirstTrustedHost()
Parameters: None
Return type: Object of type WMAddressOrRange.
GetNextTrustedHost
Description: Returns the next Trusted Host listed in WorkgroupMail
Syntax: GetNextTrustedHost(TrustedHost as object)
Parameters: TrustedHost is an object of type WMAddressOrRange and is the
Trusted Domain listed before the one required.
Return type: Object of type WMAddressOrRange.
AddDomain
Description: Adds a new Domain
Syntax: AddDomain(sDomain as string)
Parameters: sDomain is a string specifying the name of the new domain
Return type: Object of type WMAddressOrRange.
GetFirstDomain
Description: Returns the details of the first listed Domain
Syntax: GetFirstDomain()
Parameters: None
Return type: Object of type WMAddressOrRange.
GetNextDomain
Description: Returns the details of the next listed Domain
Syntax: GetFirstDomain(Domain as object)
DeleteDomain
Description: Deletes the specified Domain
Syntax: DeleteDomain()
Parameters: Object of type WMAddressOrRange
Return type: Boolean indicating success or failure.
FindTrustedHostByDescription
Description: Identifies a Trusted Host by a search string
Syntax: FindTrustedHostByDescription(sHost as string)
Parameters: sHost is a string used to identify the Trusted Host
Return type: Object of type WMAddressOrRange
ARGetFirstSendException
Description: Returns the first „send exception‟ listed in the default account
settings for when a user is not allowed to send mail to the outside
world, except to …
Syntax: ARGetFirstSendException()
Parameters: None
Return type: String specifying the first send exception e-mail address.
ARGetNextSendException
Description: Returns the next „send exception‟ listed in the default account
settings for when a user is not allowed to send mail to the outside
world, except to …
Syntax: ARGetNextSendException(sEmailAddr as string)
Parameters: sEmailAddr is a string variable specifying the current send
exception e-mail address
Return type: String specifying the next send exception e-mail address.
ARGetFirstReceiveException
Description: Returns the first „receive exception‟ listed in the default account
settings for when a user is not allowed to receive mail from the
outside world, except from …
Syntax: ARGetFirstReceiveException()
Parameters: None
ARGetNextReceiveException
Description: Returns the next „receive exception‟ listed in the default account
settings for when a user is not allowed to receive mail from the
outside world, except from …
Syntax: ARGetNextReceiveException(sEmailAddr as string)
Parameters: sEmailAddr is a string variable specifying the current receive
exception e-mail address
Return type: String specifying the next receive exception e-mail address.
ARAddSendException
Description: Adds a new Send exception address to the list
Syntax: ARAddSendException(sSendAddr as string)
Parameters: sSendAddr is a string variable specifying the new send exception e-
mail address.
Return type: Boolean indicating success or failure.
ARAddReceiveException
Description: Adds a new Receive exception address to the list
Syntax: ARAddReceiveException(sReceiveAddr as string)
Parameters: sReceiveAddr is a string variable specifying the new receive
exception e-mail address.
Return type: Boolean indicating success or failure.
ARDeleteSendException
Description: Deletes the Send exception address specified in the string parameter
Syntax: ARDeleteSendException(sSendAddr as string)
Parameters: sSendAddr is a string variable specifying the send exception address
to be deleted
Return type: Boolean indicating success or failure.
ARDeleteReceiveException
Description: Deletes the Receive exception address specified in the string
parameter
Syntax: ARDeleteReceiveException(sReceiveAddr as string)
Parameters: sReceiveAddr is a string variable specifying the receive exception
address to be deleted
Return type: Boolean indicating success or failure.
GetFirstSpamServer
Description: Returns the details of the first listed Spam Server
Syntax: GetFirstSpamServer()
Parameters: None
Return type: Object of type WMSpamServer.
GetNextSpamServer
Description: Returns details of the next listed Spam Server
Syntax: GetNextSpamServer(SpamServer as object)
Parameters: SpamServer is an object of type WMSpamServer which specifies
the current Spam Server
Return type: Object of type WMSpamServer which specifies the next listed
Spam Server
DeleteSpamServer
Description: Deletes the specified Spam Server
Syntax: DeleteSpamServer(SpamServer as object)
Parameters: SpamServer is an object of type WMSpamServer which represents
the Spam Server to be deleted.
Return type: Boolean indicating success or failure.
GetSpamServerByID
Description: Returns details of the Spam Server as specified by its Spam Server
ID
Syntax: GetSpamServerByID(ID as long)
Parameters: ID is a long integer representing the ID of the required Spam Server
The WMDomain_ object provides properties and methods to interrogate and edit
domain details. Various methods and properties of the WMSession object and other
objects return a WMDomain_ object and take WMDomain_ objects as arguments.
Properties
UnKnownRedirectUser
Description: The user account that receives all messages for unknown users that
are received for this domain.
Type: Object of type WMUser
RejectUnknown
Description: Specifies whether or not mail for unknown recipients is rejected
when receiving via SMTP.
Type: Boolean
RelayUnknown
Description: Specifies if mail for unknown users can be relayed. If true and the
recipient address has an entry in the routing table then the message
will be relayed.
Type: Boolean
SendISP
Description: If the send method for this domain is via an ISP then this property
should be configured with the details of the sending ISP. If the send
method is „Direct‟ then this item will contain nothing.
Type: Object of type WMISP
RelayUnknownAlways
Description: Sets or gets whether messages sent to an unknown mailbox at the
domain will be relayed (redirected) to the Outgoing queue. This
corresponds to the user interface in the Unknown Recipients page of
the Domain property sheet.
Type: Object of type WMISP
GetFirstDomain
Description: Returns the first listed domain
Syntax: GetFirstDomain ()
Parameters: None.
Return type: String specifying the name of the domain
GetNextDomain
Description: Returns the next listed domain
Syntax: GetNextDomain (sDomain as string)
Parameters: sDomain is a string representing the current domain name.
Return type: String specifying the name of the next domain
DeleteDomain
Description: Deletes the specified domain
Syntax: DeleteDomain (sDomain as string)
Parameters: sDomain is a string representing the domain to be deleted.
Return type: Boolean indicating success or failure.
GetID
Description: Returns the ID of the current domain
Syntax: GetID ()
Parameters: None
Return type: Long integer specifying the ID of the current domain
GetSendDirect
Description: Returns flag specifying if the domain is configured to send direct
Syntax: GetSendDirect()
Parameters: None
Return type: Boolean indicating if send direct is selected
WMGroup
Properties
Name
Description: The name of the group.
Type: String
Methods
AddUser
Description: Adds a user to the listing of a group
Syntax: AddUser (Member as object)
Parameters: Member is an object of type WMUser.
Return type: Boolean indicating success or failure
GetFirstUser
Description: Returns the first user listed in the group
Syntax: GetFirstUser ()
Parameters: None.
Return type: Object of type WMUser specifying the first user listed in the group
GetNextUser
RemoveUser
Description: Removes a user from the listing of a group
Syntax: RemoveUser (Member as object)
Parameters: Member is an object of type WMUser.
Return type: Boolean indicating success or failure
GetID
Description: Adds a user to the listing of a group
Syntax: GetID ()
Parameters: None.
Return type: Long integer specifying the ID of the current WorkgroupMail
Group
WMISP
The WMISP object encapsulates a WorkgroupMail ISP and provides properties and
methods to interrogate and edit ISPs details. Various methods and properties of the
WMSession object and other objects return a WMISP object and take WMISP
objects as arguments.
Properties
Name
Description: This property allows the user to get and set the name of the WMISP
object. This is the name that is displayed in the WorkgroupMail
administrator.
Type: String
Enabled
SMTPReceive
Description: Allows the user to get and set whether this ISP receives mail via
SMTP.
Type: Boolean indicating if SMTP receive is enabled
SendServerAddress
Description: Allows the user to get and set the address of the ISPs send (SMTP)
server.
Type: String. Eg “216.54.12.9” or “mail.isp.net”
ReceiveServerAddress
Description: Allows the user to get and set the address of the ISP's receive
(POP3) server.
Type: String. Eg “216.54.12.9” or “mail.isp.net”
UseModem
Description: Allows the user to get and set if this ISP is connected to the internet
via a modem (as opposed to a permanent connection).
Type: Boolean
DialUpService
Description: Allows the user to get and set the dial-up service for the ISP if it is
connected via a modem.
Type: String equating to the name of the dial up service.
ConnectOnStartup
Description: Allows the user to get and set if this ISP is makes a connection on
startup of the WorkgroupMail service.
Type: Boolean.
StartupConnectDelay
Description: Specifies the number of seconds to wait before connecting to the
ISP on startup.
Type: Long Integer specifying the number of seconds‟ delay.
QueueFullSize
Description: Specifies the maximum number of messages allowed in the Sent
Messages queue before the WorkgroupMail service will connect to
the ISP.
Type: Long Integer representing the maximum number of messages..
ConnectWhenMessagesWaiting
Description: Allows the user to get and set if the WorkgroupMail service is to
connect to this ISP if sent messages have been waiting for a set
period of time. The waiting time for messages is defined in
MessageWaitTime
Type: Boolean.
MessageWaitTime
Description: Specifies the maximum time a message will wait before the
WorkgroupMail service will connect to the ISP.
Type: Long Integer specifying the time in minutes
ConnectFrequently
Description: Allows the user to get and set whether the WorkgroupMail service
connects to the ISP on a schedule. The frequency of the connection
is defined in ConnectFrequency.
Type: Boolean
ConnectFrequency
Description: Specifies the scheduled connection interval.
Type: Long Integer representing interval in minutes
POP3DetailsActive
Description: Allows the user to get and set whether this ISP receives via POP3.
Type: Boolean
POP3LoginName
POP3Password
Description: Allows the user to get and set the multiple user POP3 account
password for this ISP
Type: String
LeaveMessagesOnServer
Description: Allows the user to get and set if downloaded message are to be left
on the server for this ISP.
Type: Boolean
DeleteOldMessagesFromServer
Description: Allows the user to get and set if old messages are to be deleted from
the server.
Type: Boolean
ServerDeleteMessageAge
Description: Allows the user to get and set the age at which old messages on the
server are deleted, in days.
Type: Long Integer
UnknownRedirectUser
Description: Specifies the user account that will receive messages that don‟t
match the e-mail address of any user mailbox
Type: Object of type WMUser
OwnsDomains
Description: This method is not valid for version 7. It applies to version 6 only.
Type: Boolean
Methods
AddDomain
Description: Adds a domain to the ISP.
Syntax: AddDomain(string sDomain)
GetFirstDomain
Description: Gets the first domain listed for the ISP.
Syntax: GetFirstDomain()
Parameters: None
Return type: String containing the first domain of the ISP.
GetNextDomain
Description: Gets the next domain listed for the ISP
Syntax: GetNextDomain(sDomain as string)
Parameters: sDomain is a string specifying the current domain as returned from
a previous call to GetFirstDomain() or GetNextDomain().
Return type: String containing the next domain of the ISP.
DeleteDomain
Description: Deletes the specified domain from the ISP.
Syntax: DeleteDomain(sDomain as string)
Parameters: sDomain is the domain to be deleted.
Return type: Boolean indicating success or failure.
GetConnectionSchedule
Description: Gets the connection schedule for the ISP.
Syntax: GetConnectionSchedule()
Parameters: None
Return type: Object of type WMSchedule representing the connection schedule
for the ISP.
GetID
Description: Get the ID of the current ISP, a number which uniquely identifies
the ISP.
Syntax: GetID()
Parameters: None
Return type: Long Integer.
GetFirstProperty
Description: Get the first property from the list of properties for the current ISP.
GetNextProperty
Description: Get the next property from the list of properties for the current ISP.
Syntax: GetNextProperty(property as object)
Parameters: property is a WMProperty object specifying the current property.
Return type: WMProperty object containing the next property.
WMUser
The WMUser object encapsulates a WorkgroupMail local user and provides
properties and methods to interrogate and edit user details. Various methods and
properties of the WMSession object and other objects return a WMUser object and
take WMUser objects as arguments.
Properties
Name
Description: This property allows the user to get and set the name of the
WMUser object.
Type: String
Enabled
Description: The Enabled property allows the user to get and set if a WMUser
object is enabled or disabled.
Type: Boolean
LocalPOP3LoginName
Description: Gets or sets the local account name for this user. The local account
name forms part of the credentials for logging a user onto the local
POP3 server, the local IMAP server or Softalk Organizer.
Type: String
LocalPOP3Password
UseDefaultQuotaSettings
Description: Gets or sets whether or not this user will use or override the default
account quota settings that are globally defined.
Type: Boolean
UseDefaultAcntPruningSettings
Description: Gets or sets whether or not this user will use or override the default
account pruning settings that are globally defined.
Type: Boolean
UseDefaultRestrictionSettings
Description: Gets or sets whether or not this user will use or override the default
account restriction settings that are globally defined.
Type: Boolean
AQLimitStoredMessages
Description: A boolean that specifies if a limit will be imposed on the maximum
number of messages allowed this user‟s account mailbox. This
setting overrides the global equivalent setting. This setting only
applies to the Enterprise edition. It represents the corresponding
user interface settings in the Account Quotas page of the User
property sheet.
Type: Boolean
AQStoredMessageLimit
Description: The account quota for the maximum number of messages that can
be stored in this user‟s account mailbox. Dependent on
AQLimtStoredMessages being true. This setting overrides the
global equivalent setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Quotas page of the User property sheet.
Type: Long Integer
AQLimitStorageSize
Description: A boolean setting that specifies if a limit will be imposed on the
maximum amount of disk space that can be occupied by messages in
this user‟s account mailbox. This setting overrides the global
AQStorageSizeLimit
Description: The account quota, in Kb, for the maximum amount of disk space
that can be occupied by messages in this user‟s account mailbox.
Dependent on AQLimtStorageSize being true. This setting overrides
the global equivalent setting. This setting only applies to the
Enterprise edition. It represents the corresponding user interface
settings in the Account Quotas page of the User property sheet.
Type: Long Integer
APAutoDeleteInactiveAccount
Description: A boolean setting that specifies if inactive accounts will be deleted
automatically. This setting overrides the global equivalent setting.
This setting only applies to the Enterprise edition. It represents the
corresponding user interface settings in the Account Pruning page of
the User property sheet.
Type: Boolean
APInactiveDays
Description: The number of days that an account has to be inactive before it is
automatically deleted . Dependent on
APAutoDeleteInactiveAccount being true. This setting overrides the
global equivalent setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Pruning page of the User property sheet.
Type: Long Integer
APDeleteInboxMessages
Description: A boolean setting that specifies if old messages in this user‟s inbox
will be purged. The Inbox is where WorkgroupMail initially
delivers new messages for a particular user. This setting overrides
the global equivalent setting. This setting only applies to the
Enterprise edition. It represents the corresponding user interface
settings in the Account Pruning page of the User property sheet.
Type: Boolean
APDeleteInboxMessageDays
Description: The default number of days old that a message must be before it is
automatically purged from this user‟s Inbox. Dependent on
APDeleteInboxMessages being true. This setting overrides the
global equivalent setting. This setting only applies to the Enterprise
APDeletePersonalFolderMessages
Description: A boolean setting that specifies if old messages in any of this user‟s
personal folders will be purged. Personal folders are folders that are
created in Softalk Organizer or using an IMAP client. This setting
overrides the global equivalent setting. This setting only applies to
the Enterprise edition. It represents the corresponding user interface
settings in the Account Pruning page of the User property sheet.
Type: Boolean
APDeletePFMessageDays
Description: The number of days old that a message must be before it is
automatically purged from any of this user‟s personal folders.
Dependent on APDeleteInboxMessages being true. This setting
overrides the global equivalent setting. This setting only applies to
the Enterprise edition. It represents the corresponding user interface
settings in the Account Pruning page of the User property sheet.
Type: Long Integer
APDeleteDeletedMessages
Description: A boolean setting that specifies if deleted messages will be purged
for this user. Deleted messages are messages that exist in the
Deleted Items folder. This setting overrides the global equivalent
setting. This setting only applies to the Enterprise edition. It
represents the corresponding user interface settings in the Account
Pruning page of the User property sheet.
Type: Boolean
APDeleteDeletedMessageDays
Description: The number of days old that a deleted message must be before it is
automatically purged from this user‟s account. Dependent on
APDeleteDeletedMessages being true. This setting overrides the
global equivalent setting. This setting only applies to the Enterprise
edition. It represents the corresponding user interface settings in the
Account Pruning page of the User property sheet.
Type: Long Integer
ARCanUseWebMail
Description: A boolean setting that specifies whether or not this user can use
Softalk Organizer. This setting overrides the global equivalent
setting. This setting only applies to the Enterprise edition. It
ARCanUseIMAP
Description: A boolean setting that specifies whether or not this user can use
IMAP. This setting overrides the global equivalent setting. This
setting only applies to the Enterprise edition. It represents the
corresponding user interface settings in the Account Restrictions
page of the Settings property sheet.
Type: Boolean
ARCanSendExternalMessages
Description: A boolean setting that specifies whether or not this user can send
external mail. If false, the exceptions list will prevail. This setting
overrides the global equivalent setting. This setting only applies to
the Enterprise edition. It represents the corresponding user interface
settings in the Account Restrictions page of the User property sheet.
Type: Boolean
ARCanReceiveExternalMessages
Description: A boolean setting that specifies whether or not this user can receive
external mail. If false, the exceptions list will prevail. This setting
overrides the global equivalent setting. This setting only applies to
the Enterprise edition. It represents the corresponding user interface
settings in the Account Restrictions page of the Settings property
sheet.
Type: Boolean
Methods
SetNoForwarding
Description: Sets the user to have no forwarding.
Syntax: SetNoForwarding()
Parameters: None
Return type: Boolean indicating success or failure.
SetForwardUser
Description: Sets the WMUser object that is the user to forward messages to,
sent to this user.
Syntax: SetForwardUser(user as object)
Parameters: user is a WMUser object. It must not be the same as this user object.
GetForwardUser
Description: Gets the WMUser object that is the user that messages sent to this
user are forwarded to.
Syntax: GetForwardUser()
Parameters: None
Return type: WMUser object of the forward user.
GetISPSettings
Description: Get the WMUserISPSettings object for this user which contains all
of this user's settings for a specified ISP.
Syntax: GetISPSettings(isp as object)
Parameters: isp is a WMISP object for which is the settings are to be got.
Return type: WMUserISPSettings object containing the settings for the given ISP
for this user.
GetID
Description: Get the ID of this user which is a number which uniquely identifies
this user.
Syntax: GetID()
Parameters: None
Return type: Long Integer integer containing the ID of this user.
GetFirstProperty
Description: Get the first property from the list of properties for this user.
Syntax: GetFirstProperty()
Parameters: None
Return type: WMProperty object containing the first property of this user.
GetNextProperty
Description: Get the next property on from the property passed into this function.
Syntax: GetNextProperty(property as object)
Parameters: property is a WMProperty object. The next property after this one is
returned.
Return type: WMProperty object containing the next property.
GetAddresses
SetForwardGroup
Description: Sets the forwarding group for this mailbox to be the group object
supplied
Syntax: SetForwardGroup(group as object)
Parameters: group is an object of type WMGroup.
Return type: Boolean indicating success or failure
GetForwardGroup
Description: Gets the forwarding group for this mailbox
Syntax: GetForwardGroup()
Parameters: None.
Return type: WMGroup object representing the forwarding group
GetSendAddress
Description: Returns the forwarding e-mail address specified for this mailbox.
Syntax: GetSendAddress()
Parameters: None.
Return type: String of form name@domain.com
GetDomainSettings
Description: Gets the domain settings object for this mailbox
Syntax: GetDomainSettings(domain as object)
Parameters: WMDomain
Return type: WMDomain object
AddDomainSetting
Description: Adds a domain settings object for this mailbox.
Syntax: AddDomainSettings(domain as object, sMailbox as string )
Parameters: domain is an object of type WMDomain
sMailbox is a string
Return type: UserDomainSettings object
AddUserDefinedProperty
Description: Adds a user defined property with a name of sName and gives it a
value of sValue.
Syntax: AddUserDefinedProperty(sName, sValue)
Parameters: sName is a string which represents the name of the user defined
property.
sValue is a string which represents the value of the user defined
property.
Return type: An object which represents the new WMProperty object that was
added to the user.
DeleteUserDefinedProperty
Description: Deletes the passed in user defined property
Syntax: AddUserDefinedProperty(property)
Parameters: property is the WMProperty object that will be deleted.
Return type: A boolean that returns true if the property was successfully deleted.
SetForwardAddress
Description: Sets the e-mail address that messages sent to this user will be
automatically forwarded to. This corresponds with the user interface
in the Forwarding page of the User property sheet.
Syntax: SetForwardAddress(sAddress)
Parameters: sAddress is the e-mail address that messages should be forwarded
to.
Return type: A boolean that returns true if the forward address was successfully
configured.
GetForwardAddress
Description: Gets the e-mail address that messages sent to this user will be
automatically forwarded to. This corresponds with the user interface
in the Forwarding page of the User property sheet.
Syntax: GetForwardAddress()
Parameters: None.
GetReceivedMessages
Description: Returns a WMMessageList object, which itself contains the list of
messages in this user‟s InBox.
Syntax: GetReceivedMessages()
Parameters: None.
Return type: A WMMessageList object.
AddFolder
Description: Adds a personal folder to this user‟s list of folders.
Syntax: AddFolder(sFolderName)
Parameters: sFolderName is a string that represents the name of the personal
folder.
Return type: A WMFolder object that represents the folder that was added.
GetFirstFolder
Description: Gets the first folder belonging to this user.
Syntax: GetFirstFolder()
Parameters: None.
Return type: A WMFolder object that represents the first folder belonging to this
user.
GetNextFolder
Description: Gets the next folder belonging to this user.
Syntax: GetNextFolder(folder)
Parameters: The folder returned by a previous call to GetFirstFolder or
GetNextFolder.
Return type: A WMFolder object that represents the next folder in the list
belonging to this user.
GetFolderFromName
Description: Gets the folder belonging to this user that matches the passed in
name.
Syntax: GetFolderFromName(sName)
Parameters: sName is a string.
Return type: A WMFolder object that matches the passed in folder name.
ARGetNextSendException
Description: Returns the next „send exception‟ listed in this user‟s account
restrictions for when this user is not allowed to send mail to the
outside world, except to …
Syntax: ARGetNextSendException(sEmailAddr as string)
Parameters: sEmailAddr is a string variable specifying the current send
exception e-mail address
Return type: String specifying the next send exception e-mail address.
ARGetFirstReceiveException
Description: Returns the first „receive exception‟ listed in this user‟s account
restrictions for when this user is not allowed to receive mail from
the outside world, except from …
Syntax: ARGetFirstReceiveException()
Parameters: None
Return type: String specifying the first receive exception e-mail address.
ARGetNextReceiveException
Description: Returns the next „receive exception‟ listed in this user‟s account
restrictions for when this user is not allowed to receive mail from
the outside world, except from …
Syntax: ARGetNextReceiveException(sEmailAddr as string)
Parameters: sEmailAddr is a string variable specifying the current receive
exception e-mail address
Return type: String specifying the next receive exception e-mail address.
ARAddSendException
Description: Adds a new Send exception address to the list
Syntax: ARAddSendException(sSendAddr as string)
Parameters: sSendAddr is a string variable specifying the new send exception e-
mail address.
Return type: Boolean indicating success or failure.
ARDeleteSendException
Description: Deletes the Send exception address specified in the string parameter
Syntax: ARDeleteSendException(sSendAddr as string)
Parameters: sSendAddr is a string variable specifying the send exception address
to be deleted
Return type: Boolean indicating success or failure.
ARDeleteReceiveException
Description: Deletes the Receive exception address specified in the string
parameter
Syntax: ARDeleteReceiveException(sReceiveAddr as string)
Parameters: sReceiveAddr is a string variable specifying the receive exception
address to be deleted
Return type: Boolean indicating success or failure.
WMVirtualMailbox
The WMVirtualMailbox object encapsulates a WorkgroupMail virtual mailbox and
provides properties and methods to interrogate and edit virtual mailbox details.
Various methods and properties of the WMSession object and other objects return a
WMVirtualMailbox object and take WMVirtualMailbox objects as arguments.
Properties
Name
Description: This property allows the user to get and set the name of the
WMVirtualMailbox object.
Type: String
AutoResponder
Description: Gets or sets whether this virtual mailbox is an auto responder.
Type: Boolean
ResponderFile
Description: A string property which represents the filename of the file, which
contains the auto responder text. This is a read/write property.
Type: String
TextFormatResponder
Description: A boolean read/write property which is true if the ResponderFile is
a text-formatted response file. If this property is false then
WorkgroupMail expects the ResponderFile to be HTML formatted.
Type: String
ResponderAttachment
Description: A string read/write property which represents the filename of the
file (if any), which should be attached to the response message.
Type: String
ResponderReplyAddress
Description: A string read/write property which represents the reply address of
response messages sent out by this auto responder. This corresponds
to the user interface in the Auto-Responding page of the Auto
Responder property sheet.
Type: String
Methods
SetNoForwarding
Description: Sets the virtual mailbox to have no forwarding.
Syntax: SetNoForwarding()
Parameters: None
SetForwardUser
Description: Sets the WMUser object that is the user to forward messages to,
sent to this virtual mailbox.
Syntax: SetForwardUser(user as object)
Parameters: user is a WMUser object.
Return type: Boolean indicating success or failure.
GetForwardUser
Description: Gets the WMUser object that is the user that messages sent to this
virtual mailbox are forwarded to.
Syntax: GetForwardUser()
Parameters: None
Return type: WMUser object of the forward user.
GetISPSettings
Description: Get the WMUserISPSettings object for this virtual mailbox which
contains all of this virtual mailbox's settings for a specified ISP.
Syntax: GetISPSettings(isp as object)
Parameters: isp is a WMISP object for which is the settings are to be got.
Return type: WMUserISPSettings object containing the settings for the given ISP
for this virtual mailbox.
GetID
Description: Get the ID of this virtual mailbox which is a number which uniquely
identifies this virtual mailbox.
Syntax: GetID()
Parameters: None
Return type: Long Integer integer containing the ID of this virtual mailbox.
GetFirstProperty
Description: Get the first property from the list of properties for this virtual
mailbox.
Syntax: GetFirstProperty()
Parameters: None
Return type: WMProperty object containing the first property of this virtual
mailbox.
GetAddresses
Description: Gets a string of all the valid addresses for the virtual mailbox.
Syntax: GetAddresses()
Parameters: None
Return type: String containing all the valid addresses for this virtual mailbox.
GetDomainSettings
Description: Gets the domain settings object for this mailbox
Syntax: GetDomainSettings(domain as object)
Parameters: WMDomain
Return type: WMDomain object
AddDomainSetting
Description: Adds a domain settings object for this mailbox.
Syntax: AddDomainSettings(domain as object, sMailbox as string )
Parameters: domain is an object of type WMDomain
sMailbox is a string
Return type: UserDomainSettings object
DeleteDomainSetting
Description: Deletes the domain setting object for this mailbox
Syntax: DeleteDomainSettings(settings)
Parameters: settings object.
Return type: Boolean indicating success or failure
AddUserDefinedProperty
Description: Adds a user defined property with a name of sName and gives it a
value of sValue.
Syntax: AddUserDefinedProperty(sName, sValue)
Parameters: sName is a string which represents the name of the user defined
property.
DeleteUserDefinedProperty
Description: Deletes the passed in user defined property
Syntax: AddUserDefinedProperty(property)
Parameters: property is the WMProperty object that will be deleted.
Return type: A boolean that returns true if the property was successfully deleted.
WMUserISPSettings
The WMUserISPSettings encapsulates the object which maintains the settings for a
user in relation to one ISP. This object can be accessed via a call to GetISPSettings()
on the WMUser or WMVirtualMailbox object.
Properties
Active
Description: Allows the user to get or set if these user ISP settings are active.
Type: Boolean
POP3LoginName
Description: The POP3 login name for the associated user‟s personal POP
account with this ISP. WorkgroupMail uses this information to log
onto the POP account at the ISP in order to download mail for the
user from the ISP into WorkgroupMail.
Type: String
POP3Password
Description: The POP3 password for the associated user‟s personal POP account
with this ISP. WorkgroupMail uses this information to log onto the
POP account at the ISP in order to download mail for the user from
the ISP into WorkgroupMail.
Type: String
Methods
WMUserDomainSettings
The WMUserDomainSettings object encapsulates the object which maintains the
settings for a user in relation to a domain. This object can be accessed via a call to
GetDomainSettings() on the WMUser or WMVirtualMailbox object.
Properties
User
Description: The user that is associated with these settings.
Type: WMUser object.
Domain
Description: The domain that is associated with these settings.
Type: WMDomain object.
Mailbox
Description: Each user in a domain is differentiated by its unique mailbox. For
example, the user Fred Smith may be part of the company.com
domain and may have an associated email address of
fred@company.com. This user‟s Mailbox property for the
company.com domain would be fred.
Type: String
Methods
GetID
Description: Gets the ID of the settings.
Syntax: GetID()
Parameters: None
WMSchedule
The WMSchedule object encapsulates a schedule of when to connect to an ISP.
Properties
CellState
Description: Allows the user to get and set the cell state for the WMSchedule
object given an hour and a day. The hour must be between 1 and 24
and the day must be between 1 and 7.
Syntax: boolean CellState(short iHour, short iDay)
void CellState(short iHour, short iDay, long bNewValue)
Example:
bCellState = schedule.CellState(17, 2)
schedule.CellState(17, 2) = bCellState
Methods
WMProperty
The WMProperty object encapsulates one name/value pair for the property of any
object.
Properties
Name
Description: The name of the property. This is a read only property.
Type: String
Value
Methods
WMProperty has no methods.
WMFolder
Properties
Name
Description: The name given to this folder.
Type: String
Methods
GetMessages
Description: Returns a list of messages belonging in this folder.
Syntax: GetMessages ()
Return type: WMMessageList
GetFirstSubFolder
Description: Returns the first sub folder belonging to this folder.
Syntax: GetFirstSubFolder ()
Return type: WMFolder
GetNextSubFolder
Description: Returns the next sub folder belonging to this folder.
Syntax: GetFirstSubFolder (folder)
Parameters: folder is the folder returned by a previous call to
GetFirstSubFolder() or GetNextSubFolder().
AddSubFolder
Description: Adds a sub folder with the passed in name to this folder.
Syntax: AddSubFolder (sFolder)
Parameters: sFolder is the name given to the new sub folder
Return type: WMFolder
DeleteSubFolder
Description: Deletes the passed in sub folder and optionally the messages in that
folder.
Syntax: DeleteSubFolder (folder, bDeleteMessages)
Parameters: folder is the sub folder that is to be deleted.
BDeleteMessages should be set to True if you want to delete the
messages in the sub folder.
Return type: Boolean
GetSubFolderFromName
Description: Gets a sub folder by name.
Syntax: GetSubFolderByName (sFolder)
Parameters: sFolder is the name of the subfolder that you wish to return.
Return type: WMFolder
GetMessageCount
Description: Gets the number of messages in this folder.
Syntax: GetMessageCount()
Parameters: None
Return type: An integer representing the number of messages in the folder.
GetFirstProperty
Description: Get the first property from the list of properties for this folder.
Syntax: GetFirstProperty()
Parameters: None
Return type: WMProperty object containing the first property of this folder.
GetNextProperty
Description: Get the next property on from the property passed into this function.
WMPublicFolder
The WMPublicFolder object encapsulates a WorkgroupMail public folder.
Properties
Name
Description: The display name of the public folder.
Type: String
Rule
Description: The action taken by this public folder on the messages inside.
Type: Integer. Permitted values are: 0 = Keep, 1 = Move messages, 2 =
Delete messages.
MoveToFolder
Description: If the Rule property is set to 1 (Move Messages), then this property
represents the WMFolder to which the messages should be moved.
Type: WMFolder object.
AfterMinutes
Description: If the Rule property is set to 1 (Move Messages) or 2 (Delete
messages), then this property represents the number of minutes that
the message must reside in the public folder before having the move
or delete rule applied.
Type: Integer.
Methods
GetMessages
Description: Returns the a WMMessageList that contains the list of messages in
the public folder.
Syntax: GetMessages()
GetMessageCount
Description: Returns the number of messages in the quarantine.
Syntax: GetMessageCount()
Parameters: None
Return type: Integer.
WMQuarantineArea
The WMQuarantineArea object encapsulates a WorkgroupMail quarantine area.
Properties
Name
Description: The display name of the quarantine.
Type: String
Description
Description: The description shown for the quarantine area in the
WorkgroupMail administrator.
Type: String
Rule
Description: The action taken by this public folder on the messages inside.
Type: Integer. Permitted values are: 0 = Keep, 1 = Allow messages
through, 2 = Delete messages.
AfterMinutes
Description: If the Rule property is set to 1 (Move Messages) or 2 (Delete
messages), then this property represents the number of minutes that
the message must reside in the quarantine before having the move or
delete rule applied.
Type: Integer.
TimeOption
Methods
GetIncomingMessages
Description: Returns the a WMMessageList that contains the list of incoming
messages in the quarantine.
Syntax: GetIncomingMessages()
Parameters: None
Return type: WMMessageList.
GetOutcomingMessages
Description: Returns the a WMMessageList that contains the list of outcoming
messages in the quarantine.
Syntax: GetOutcomingMessages()
Parameters: None
Return type: WMMessageList.
GetTimeRange
Description: If the Rule property is set to 1 (Move Messages) or 2 (Delete
messages), and the TimeOption is set to 1 (In a certain time range)
then this property represents the time range of interest. The returned
object is a WMSchedule object.
Syntax: GetTimeRange()
Parameters: None
Return type: WMSchedule object.
ReleaseMessage
Description: Releases the message from the quarantine.
Syntax: ReleaseMessage()
Parameters: None
Return type: Boolean. True if successful, False otherwise.
Properties
Subject
Description: The subject of the message. This is a read only property.
Type: String
Received
Description: Gets the received time of a received message. This is a read only
property.
Type: DATE
Sent
Description: Get the sent time of a sent message. This is a read only property.
Type: DATE
Sender
Description: Gets the sender address for the message. This property is read only.
Type: String
Recipients
Description: This property gets a string containing all the recipient addresses.
This is a read only property.
Type: String
Size
Description: Gets the size of the message in bytes. This is a read only property.
Type: Long Integer
Account
Description: This property gets the name of the ISP account that this sent
message is using. This is a read only property.
Filename
Description: This read only property gets the filename that stores the sent or
received message.
Type: String
SenderAddress
Description: This read/write property gets the address of the sender of the
message.
Type: String
Read
Description: This read/write property gets or sets whether or not this message has
been opened.
Type: Boolean
Methods
GetHTMLBody
Description: Returns the HTML part of the message in a string.
Syntax: GetHTMLBody()
Parameters: None
Return type: String.
GetTextBody
Description: Returns the Text part of the message in a string.
Syntax: GetTextBody()
Parameters: None
Return type: String.
GetTextBodyAsHTML
Description: Returns the Text part of the message in a string. The string is
HTML encoded.
Syntax: GetTextBodyAsHTML
Parameters: None
Return type: String.
Delete
Description: Deletes this message
Syntax: Delete
Parameters: None.
Return type: Boolean. True if the message was successfully deleted. False
otherwise.
GetToRecipients
Description: Returns a string, which lists the To: recipients of the message. If
there is more than one recipient then each recipient is separated by a
„;‟ character.
Syntax: GetToRecipients()
Parameters: None.
Return type: String.
GetCCRecipients
Description: Returns a string, which lists the Cc: recipients of the message. If
there is more than one recipient then each recipient is separated by a
„;‟ character.
Syntax: GetCCRecipients()
Parameters: None.
Return type: String.
GetFirstAttachment
Description: Returns a WMAttachment object, which is the first attachment of
the message.
Syntax: GetFirstAttachment()
Parameters: None.
Return type: A WMAttachment object, or Nothing if the message does not have
any attachments.
GetNextAttachment
WMMessageList
The WMMessageList object encapsulates a snapshot of all sent or received messages
in WorkgroupMail.
Properties
Methods
GetFirstMessage
Description: Gets the first message in the message list.
Syntax: GetFirstMessage()
Parameters: None
Return type: A WMMessage object which is the first message in the list.
GetNextMessage
Description: Gets the next message in the message list.
Syntax: GetNextMessage(message as object)
Parameters: message is a WMMessage object returned by a previous call to
GetFirstMessage() or GetNextMessage()
Return type: A WMMessage object which is the next message in the list
GetLastMessage
Description: Gets the last message in the message list.
GetPreviousMessage
Description: Gets the previous message in the message list.
Syntax: GetPreviousMessage(message as object)
Parameters: message is a WMMessage object returned by a previous call to
GetLastMessage() or GetPreviousMessage()
Return type: A WMMessage object which is the previous message in the list
GetCount
Description: Gets the number of messages in the message list.
Syntax: GetCount()
Parameters: None
Return type: Long number of messages
SortByDate
Description: Sorts the messages in the list by date.
Syntax: SortByDate(bAscending)
Parameters: bAscending - A boolean which should be set to true if the list is to
be sorted in an ascending fashion or false if the list is to be sorted in
a descending fashion.
Return type: Nothing
SortBySubject
Description: Sorts the messages in the list alphabetically by subject.
Syntax: SortBySubject(bAscending)
Parameters: bAscending - A boolean which should be set to true if the list is to
be sorted in an ascending fashion or false if the list is to be sorted in
a descending fashion.
Return type: Nothing
SortBySender
Description: Sorts the messages in the list alphabetically by sender name.
Syntax: SortBySender(bAscending)
Parameters: bAscending - A boolean which should be set to true if the list is to
be sorted in an ascending fashion or false if the list is to be sorted in
a descending fashion.
SortByRecipients
Description: Sorts the messages in the list alphabetically by recipient name.
Syntax: SortByRecipients(bAscending)
Parameters: bAscending - A boolean which should be set to true if the list is to
be sorted in an ascending fashion or false if the list is to be sorted in
a descending fashion.
Return type: Nothing
WMComposeMessage
The WMComposeMessage object encapsulates a message being sent by the
WorkgroupMail API.
Properties
Methods
SetSubject
Description: Sets the subject of the message being composed.
Syntax: SetSubject(string sSubject)
Parameters: sSubject is the new subject string.
Return type: Boolean indicating success or failure.
SetMessageText
Description: Sets the message body text of the message being composed.
Syntax: SetMessageText(string sMessageText)
Parameters: sMessageText is the new message string.
Return type: Boolean indicating success or failure.
SetSender
AddRecipient
Description: Adds a recipient to the new message. The message will be sent to all
added recipients.
Syntax: AddRecipient(string sName, string sAddress)
Parameters: sName is the name of the recipient.
sAddress is the recipient's address.
Return type: Boolean indicating success or failure.
AddRecipients
Description: Adds one or more recipients to the new message. If there is more
than one recipient, each recipient must be separated by a „;‟
character.
Syntax: AddRecipient(string sRecipients, integer iType)
Example: message.AddRecipients(“fred@bloggs.com;John
<john@domain.com>”)
Parameters: sRecipients is the „;‟ separated list of recipient names and addresses.
iType specifies whether the recipients should be added to the To:,
Cc or Bcc list. The values are: 0 = To, 1 = Cc, 2 = Bcc.
Return type: Boolean indicating success or failure.
AddAttachment
Description: Adds an attachment to the message being composed.
Syntax: AddAttachment(string sDisplayName, string sFilename)
Parameters: sDisplayName is the filename of the attachment without it's path
that you wish the receiver of the message to see.
sFilename is the full path and filename of the file being attached.
Send
Description: Send the composed message. The message must have at least one
recipient and a sender address.
Send
Description: Send the composed message. The message must have at least one
recipient and a sender address.
Syntax: Send()
Parameters: None
Return type: Boolean indicating success or failure.
SendKeepCopy
Description: Sends the composed message, keeping a copy of the sent message in
the user‟s Sent Items personal folder. The message must have at
least one recipient and a sender address.
Syntax: SendKeepCopy()
Parameters: None
Return type: Boolean indicating success or failure.
SendUsingSMTP
Description: Sends the composed message by establishing a connection to the
passed in server on the passed in port number (the default port
number should be 25) and sending via SMTP. The message must
have at least one recipient and a sender address.
Syntax: SendUsingSMTP(sServer, iPort)
Parameters: sServer - A string which represents the IP address or server name of
the SMTP server.
iPort - The port number on which an SMTP session will be
established. This should nearly always be set to 25.
Return type: Boolean indicating success or failure.
SendUsingSMTPKeepCopy
Description: Sends the composed message by establishing a connection with the
passed in server on the passed in port number (the default port
number should be 25) and sending via SMTP, keeping a copy of the
sent message in the user‟s Sent Items personal folder. The message
must have at least one recipient and a sender address.
Syntax: SendUsingSMTPKeepCopy(sServer, iPort)
Parameters: sServer - A string which represents the IP address or server name of
the SMTP server.
SendMIMEFileUsingSMTP
Description: Sends the passed in MIME file by establishing a connection with the
passed in server on the passed in port number (the default port
number should be 25) and sending via SMTP.
Syntax: SendMIMEFileUsingSMTP(sMIMEFile, bKeepCopy, sServer,
iPort)
Parameters: sMIMEFile - A string which represents the filename of a file which
contains a MIME formatted message.
bKeepCopy - a boolean that indicates whether or not a copy of the
sent message should be kept in the user‟s Sent Items folder.
sServer - A string which represents the IP address or server name of
the SMTP server.
iPort - The port number on which an SMTP session will be
established. This should nearly always be set to 25.
Return type: Boolean indicating success or failure.
SendMIMEFile
Description: Sends the passed in MIME file.
Syntax: SendMIMEFile(sMIMEFile, bKeepCopy)
Parameters: sMIMEFile - A string which represents the filename of a file which
contains a MIME formatted message.
bKeepCopy - a boolean that indicates whether or not a copy of the
sent message should be kept in the user‟s Sent Items folder.
Return type: Boolean indicating success or failure.
WMAttachment
The WMAttachment object encapsulates a message attachment.
Properties
This object does not contain any properties.
Methods
GetFileName()
GetFileSize()
Description: Returns the size of the attachment in bytes.
Syntax: GetFileSize()
Return type: Integer
GetFileSizeString()
Description: Returns a string which represents the size of the attachment. The
units of the file size will change according to the size, i.e. 2Mb,
rather than 2048 Kb, or 1Kb, rather than 1024 bytes.
Syntax: GetFileSizeString()
Return type: String
Decode()
Description: Decodes the attachment to a specified folder.
Syntax: Decode()
Return type: String, which points to a filename of the actual decoded attachment
file.
GetEmbedded()
Description: Returns True if this attachment is an embedded reference inside the
message rather than a separate file attachment.
Syntax: GetEmbedded()
Return type: Boolean.
WMSpamServer
ServerAddress
Description: The server address for this spam server.
Type: String
Enabled
Description: True if this spam server is enabled. False otherwise.
Type: Boolean
Methods
GetID()
Description: Gets the unique identifier of this spam server.
Syntax: GetID ()
Return type: Integer
Plug-in
A DLL file that may be "plugged in" to WorkgroupMail in order to provide
additional processing on each incoming and outgoing message.
Interface
In the context of WorkgroupMail, an Interface is the IP address of a network card.
Virtual mailbox
A mailbox that can receive mail sent to a certain e-mail address, for example,
sales@company.com . Messages sent to a virtual mailbox must always be forwarded
to a WorkgroupMail user or group. Virtual mailboxes may be configured to auto-
respond to messages sent to it.
ISP
Internet Service Provider. An organization, such as AOL, that hosts an organization's
e-mail.