Mailtraq Scripting Reference

Objects

Server
Toolkit
MailMessage
Strings
Config
User
ConfigPop3
FolderFiltering
Mailslot
HttpRequest
HttpResponse
HttpSession
HttpObject
HttpObjectCollection
DIS
Mailgroup
SpellCheckContext
CalendarEventRecurring
CalendarEventParticipants
CalendarEvent
Calendar
Timezones
Calendaring
CalendarView
Subscriber
ServiceList
ServiceConfig
SmtpServiceConfig
iCalObject
iCalField


Server

This object provides references to various other objects available to scripts. As this object is the default object most of the properties and methods do not need to be qualified.

Properties

Mailtraq
Request
Response
Session
Application
System
Server
Directory
Toolkit
Config
Calendaring
UserLanguage
SessionManager
Version
Build
Software
SitePath
DatabasePath

Methods

Write
WriteLine
CreateObject
GetLanguages
SameAddress
NameOf
UniqueString
AddressOf
HostOf
UserOf
CreateUser
DeleteUser
Transfer
MessageSend
MessageSaveDraft
MessageSaveSent
GenerateMessageId
GenerateMessageFilename
URLEncode
URLDecode
SyncML
SyncMLBinary
WBXMLEncode
WBXMLDecode
MessageTrackingQuery
LogEvent

Properties

______

Mailtraq : object

Provides access to the Remote Scripting layer's root object

Request : HttpRequest or MailMessage

This property holds a reference that depends on the context of the script being executed. If the script is running within the Web Server, then the return value will be the HTTP object. If the script is running in response to a trigger or input message, then the return value will be the MailMessage object that triggered it.

Response : HttpResponse or MailMessage

This property holds a reference that depends on the context of the script being executed. If the script is running within the Web Server, then the return value will be the HTTP object which contains the output web page. If the script is being run in order to generate an output message (such as a message template) then the return value will be the MailMessage object being created.

Session : HttpSession

This property holds a reference to the current session. In the context of Web Scripts: A cookie named SESSIONKEY is used maintain sessions between requests. Sessions can contain an arbitrary number of simple variables and HttpObject objects.

Application : HttpSession

This property holds a reference to the current application object. An application is similar to a HttpSession object in that it maintains values between web requests. However, the application values are shared amongst all the sessions for the current web site.

System : Config

This property is the same as the Config property (named for compatibility with earlier scripts)

Server : Server

This property holds a reference to itself. Because the server is the default object for scripts, it is necessary in order to obtain an object reference for passing to other functions.

Directory : DIS

This property holds a reference to the directory manager. The directory holds information about users and contacts

Toolkit : Toolkit

This property refers to a toolkit of useful functions.

Config : Config

This property holds a reference to the configuration object. Use this object to access or modify properties relating to the system configuration (such as user management and mailbox configuration).

Calendaring : Calendaring

This property holds a reference to the calendaring system. All the user calendars can be accessed and modified through this object.

UserLanguage : string

This property holds the currently selected language code. The language code is in the format base-region, for example en-uk for British English, or fr-ca for Canadian French. The default setting is taken from the environment or web browser, but it can be manually overriden. Some other functions, such as text macros, will select text based on the current language.

SessionManager : SessionManager

This property provides access to the global Session Manager. The Manager is responsible for issuing and maintaining objects.

Version : string

Returns the server version in the form major.minor.release.build

Build : integer

Returns the server build version

Software : string

Returns the server software name

SitePath : string

Returns the root filing system path to the current web site

DatabasePath : string

Returns the root filing system path to the database

Methods

______

Write ( Text ): none

This method outputs text to the current response environment (whatever is returned by the Response property). If the script is being called in a web page then this method will output text to the web page being created. If the script is being called in a template, then the text will be output to the message being created.

ParameterTypeDescription
Text string The text to output

WriteLine ( Text ): none

This method outputs a line of text to the current response environment (whatever is returned by the Response property). If the script is being called in a web page then this method will output a line of text to the web page being created. If the script is being called in a template, then the line of text will be output to the message being created.

This method is the same as the Write method except that a carriage-return/linefeed is appended.

ParameterTypeDescription
Text string The text to output

CreateObject ( Class ): ActiveXObject

This method creates a new ActiveX object. The object must first be appropriately registered on the server.

Example

var fso = Server.CreateObject("Scripting.FileSystemObject");
fso.DeleteFile("c:\\temp\\dummy.txt");

ParameterTypeDescription
Class string The ActiveX object class

GetLanguages (): string

This method returns a comma separated list of language names and language codes as defined in the underlying string macro table.

The returned list is sequence of language code and language name pairs. For example, "en,English,fr,French,de,German,pt,Portugese,nl,Dutch".

SameAddress ( Addr1 , Addr2 ): boolean

This method compares two e-mail addresses and returns true if they are the same after certain canonisation. If an address is either the local domain or one of it's aliases then it will match any other alias. If no domain is included, the local domain is assumed. If an address resolves to a local mailbox, then aliases for that mailbox are also considered.

Example

var match = SameAddress("user", "user@local.domain.com");
var anothermatch = SameAddress("user@host.com", "user-alias@host.com");
var fail = SameAddress("user@hotmail.com", "user@yahoo.com");

ParameterTypeDescription
Addr1 string The first address to compare
Addr2 string The second address to compare

NameOf ( str ): boolean

This method takes an RFC2822 header e-mail entry and extracts the name part. Header e-mail entries generally appear in formats such as John Smith <jsmith@domain.com> or jsmith@domain.com (John Smith). In both of these cases the return string would be John Smith.

This method is useful for rendering To: or From: message headers, particularly in conjunction with AddressOf.

ParameterTypeDescription
str string The string from which a full name is to be extracted

UniqueString (): string

This method returns a unique string, often useful in creating unique identifies such as message ids. The string can be any length but at present it is eight characters.

AddressOf ( str ): string

This method takes an RFC2822 header e-mail entry and extracts the e-mail address part. Header e-mail entries generally appear in formats such as John Smith <jsmith@domain.com> or jsmith@domain.com (John Smith). In both of these cases the return string would be John Smith.

This method is useful for rendering To: or From: message headers, particularly in conjunction with NameOf.

ParameterTypeDescription
str string The string from which a full name is to be extracted

HostOf ( address ): string

This method returns the domain part of an e-mail address (the part after the @ symbol). If the domain part does not exist, it returns the default local domain.

Given jsmith@domain.com the string domain.com is returned.

ParameterTypeDescription
address string The e-mail address from which the domain is to be extracted

UserOf ( address ): string

This method returns the user part of an e-mail address (the part before the @ symbol).

Given jsmith@domain.com the string jsmith is returned.

ParameterTypeDescription
address string The e-mail address from which the user name is to be extracted

CreateUser ( username , fullname , password , template (optional) , mailboxtemplate (optional) ): User

This method creates a new user account with the given parameters (subject to sufficient remaining user licenses).

The newly created user account is returned by this method, or null if user creation was unsuccessul.

ParameterTypeDescription
username string The new user name to assign. Must be short and should not have spaces or any formatting characters, 8bit or escape characters.
fullname string A full descriptive name for the new user. Typically this is the user's real name.
password string The user's new password. This is a case-sensitive string.
template (optional) string The name of a template user account. If given, all the settings for the new user are copied from this user account.
mailboxtemplate (optional) string The name of a template mailbox. If given, a mailbox is created and assigned to the new user. All the mailbox settings are copied from the template mailbox.

DeleteUser ( username , mailslots (optional) ): none

This method deletes the named user account. If specified, all owned mailslots will be deleted as well.

ParameterTypeDescription
username string The name of the user account to delete
mailslots (optional) boolean If true then all the mailslots owned by this user account will be deleted as well.

Transfer ( path ): string

Transfers execution to another named script. The given parameter is a path (relative to the path of the currently executing script). When the current scriptlet completes, execution will start on the new script.

It is important to note that transfer does not take place immediately, see the example.

Example

1<%
2 var a = 1 + 2;
3 Server.Transfer("script2.asp");
4 a++;
5%>
6 Some text to output
7<%
8 a *= 2;
9%>

In the above example, the execution continues to line 4, after the Server.Transfer() on line 3, but the next scriptlet is not executed because the transfer takes place when the first scriptlet ends on line 5.

ParameterTypeDescription
path string The filename of the script to execute

MessageSend ( sender , recipients , header , body , attachments , messageid ): none

This method will create and send a new e-mail, optionally with attachments from the current session.

ParameterTypeDescription
sender string The return-path (sender) e-mail address for the message
recipients string A comma-separated list of e-mail addresses to which the e-mail should be sent
header header The header to prepend to the message. It should be a CR/LF separated list of RFC2822 Header entries
body string The message body to send. Lines should be separated with a CR/LF pair and the character set should suit that specified in the message headers
attachments string A comma-separated list of attachment uids. Each uid should represent an object in the current session
messageid string The message-id to assign to this message. It may be left black to have the system assign the id

MessageSaveDraft ( mailslot , sender , recipients , header , body , attachments , messageid ): none

This method will create a new e-mail and save it as a draft in the specified mailslot, optionally with attachments from the current session.

ParameterTypeDescription
mailslot string The name of the Mailslot in which the draft should be saved
sender string The return-path (sender) e-mail address for the message
recipients string A comma-separated list of e-mail addresses to which the e-mail should be sent
header header The header to prepend to the message. It should be a CR/LF separated list of RFC2822 Header entries
body string The message body to send. Lines should be separated with a CR/LF pair and the character set should suit that specified in the message headers
attachments string A comma-separated list of attachment uids. Each uid should represent an object in the current session
messageid string The message-id to assign to this message. It may be left black to have the system assign the id. If a message with the given id already exists in the mailslot then it will be overwritten.

MessageSaveSent ( mailslot , sender , recipients , header , body , attachments , messageid ): none

This method will create a new e-mail and save it in the sent-items folder of the specified mailslot, optionally with attachments from the current session.

ParameterTypeDescription
mailslot string The name of the Mailslot in which the message should be saved
sender string The return-path (sender) e-mail address for the message
recipients string A comma-separated list of e-mail addresses to which the e-mail should be sent
header header The header to prepend to the message. It should be a CR/LF separated list of RFC2822 Header entries
body string The message body to send. Lines should be separated with a CR/LF pair and the character set should suit that specified in the message headers
attachments string A comma-separated list of attachment uids. Each uid should represent an object in the current session
messageid string The message-id to assign to this message. It may be left black to have the system assign the id. If a message with the given id already exists in the mailslot then it will be overwritten. If the message was previously saved as a draft, then this will overwrite the draft which is normal practice.

GenerateMessageId (): string

This method will create a new message-id in the format of <uniquestring@local.domain.com> using the primary domain name.

GenerateMessageFilename (): string

This method will generate a unique string suitable for using as a filename in a mailslot.

URLEncode ( text ): string

This method will encode the given string in a manner suitable for passing as a URL parameter. Effectively, characters not valid in a URL parameter are converted to %hex and spaces are converted to + symbols.

Example

var str = Server.URLEncode("The & character isn't valid");
str == "The+%26character+isn%27t+valid";

See also URLDecode

ParameterTypeDescription
text string The text string to be translated

URLDecode ( text ): string

This method will decode the given string that might have been passed as a URL parameter. Such strings are typically encoded by a routine similar to URLEncode. Effectively, characters not valid in a URL parameter are converted to %hex and spaces are converted to + symbols.

Example

var str = Server.URLDecode("The+%26character+isn%27t+valid");
str == "The & character isn't valid";

See also URLEncode

ParameterTypeDescription
text string The text string to be translated

SyncML ( url , xml ): string

This method will process a SyncML request and return the XML output as the result of the function

ParameterTypeDescription
url string The URL that the client requested
xml string The XML SyncML request

SyncMLBinary ( url , contentType , data ): SafeArray

This method will process a SyncML request and return the XML output as the result of the function

ParameterTypeDescription
url string The URL that the client requested
contentType string The Content-Type header string
data SafeArray The XML SyncML request

WBXMLEncode ( xml ): SafeArray

This method takes an XML representation of a common format (such as SyncML) and converts it to a compressed binary WBXML in the form of a SafeArray (a Variant array) which can be sent using HTTPResponse.BinaryWrite() in ASP

ParameterTypeDescription
xml string The XML request

WBXMLDecode ( wbxml ): string

This method takes an WBXML biinary representation of a common format (such as SyncML) in the form of a SafeArray and converts it into plain text XML

ParameterTypeDescription
wbxml SafeArray The WBXML request

MessageTrackingQuery ( FromDate , ToDate , EntryClass , MessageIdList , ReferenceIdList , SourceList , DestList ): string

This method queries the message tracking database based on the given parameters and returns a structured list of matches. A NULL is returned if there are no matches (rather than an empty string). If there are matches, a list of CR LF separated strings are returned (one line per entry). Each line is a TAB separated list: Timestamp (VDATE), EntryClass, MessageIdHash, ReferenceIdHash, Source, Destination, Info.

ParameterTypeDescription
FromDate datetime Timestamp to start searching from
ToDate datetime Timestamp to search until
EntryClass integer Type of entry to return
MessageIdList string Comma Separated list of message IDs or MD5 hashes of message IDs
ReferenceIdList string Comma Separated list of reference IDs (matching In-Reply-To headers)
SourceList string Comma Separated list of source parameters (EntryClass dependent)
DestList string Comma Separated list of destination parameters (EntryClass dependent)

LogEvent ( text , eclass , echannel ): none

Enters a string into the Mailtraq event log

ParameterTypeDescription
text string Text of event
eclass integer Class of event (or null for DEBUG)
echannel integer Event Channel (for activity grouping


Toolkit

This object is a container for a set of routines useful in scripts, particularly for handling and modifying strings in a consistent manner.

Properties

Methods

ExtractEmailAddresses
ExtractNamesEmails
SetStringPrefix
SetStringSuffix
HtmlEncode
FirstNonBlank
FormatNumber
HeaderEncode
HeaderEncodeTo
HeaderDecode
HeaderDecodeHtml
HeaderDecodeUtf8
DisDecode
DisDecode
DisToHtml
SuffixNonBlank
PrefixNonBlank
SurroundNonBlank
JoinNonBlank
WrapToColumn
TabList
TabMap
ListItemOf
ListContains
ListRemove
ListCount
VDateCreate
VDateFormat
DateTimeToVDate
VDateToDateTime
DateTimeToUnix
UnixToDateTime
FirstNameOf
SurnameOf
UserOfEmail
DomainOfEmail
FullnameOf
InsertParams
QualifyAddresses
HtmlToPlainText
DnsLookupA
DnsLookupMx
DnsLookupTxt
DnsLookupPtr
DblVerify
SpfVerify
LongQuoteString
MessageTimestamp
HashMD5
CharsetConvert

Properties

______

Methods

______

ExtractEmailAddresses ( text ): string

This method extracts e-mail addreses from a string that is formatted in a manner suitable for use in an RFC2822 header (such as To: or CC:). This method is capable of extracting multiple e-mail addresses.

The method returns a comma-separated list of addreses.

See also ExtractNamesEmails

ParameterTypeDescription
text string The string from which e-mails are to be extracted

ExtractNamesEmails ( text , separator ): string

This method is similar to ExtractEmailAddresses except that it extracts both the e-mail addresses and corresponding display names.

The input string is formatted in a manner suitable for use in an RFC2822 header (such as To: or CC:).

The returned string is a list of e-mail address, display name pairs. The separator string can be specified as a parameter and is used to separate the items in the pairs and the pairs themselves.

Example

var to_header = "To: John Smith To: John Smith <jsmith@domain.org>, Jane Doe <jdoe@host.com>";
var list = Toolkit.ExtractNamesEmails(to_header, "\t");
var array = new String(list).split("\t");
for (var i = 0; i < array.length; i += 2) {
Response.Write(array[i+1] + "'s e-mail is " + array[i]);
}

ParameterTypeDescription
text string The string containing addresses to be decoded
separator string (optional) A string to be used as the separator in the output data. If not specified, the default is a tab character.

SetStringPrefix ( text , prefix ): string

This method ensures that the given string starts with the given prefix. This is not the same as concatenating two strings as the method checks first to see if the given prefix is already attached (in a case-insensitive manner).

This function is very useful for prepending the Re: to a subject line when replying.

ParameterTypeDescription
text string The string to which the prefix must be added
prefix string The prefix to prepend to the given string

SetStringSuffix ( text , suffix ): string

This method ensures that the given string ends with the given prefix. This is not the same as concatenating two strings as the method checks first to see if the given suffix is already attached (in a case-insensitive manner).

ParameterTypeDescription
text string The string to which the suffix must be added
suffix string The suffix to append to the given string

HtmlEncode ( text ): string

This method encodes the given string in a manner suitable for including in HTML without being interpreted by the HTML engine. Specifically, angle brackets and ampersands are converted into their HTML equivilent.

It is important to note that as both of these changes result in ampersands, repeating the function on a string will further encode it. Thus, the number of encodings must later match the number of decodings.

ParameterTypeDescription
text string The string to be HTML encoded

FirstNonBlank ( text ): string

This method takes a variable number of paramters and returns the first parameter that is neither null or an empty string.

Example

var first = Toolkit.FirstNonBlank(null, "", "First", 2, 3.0);
first == "First";

ParameterTypeDescription
text any (optional, repeated) Any parameter that can be converted into string representation

FormatNumber ( number , type ): string

This method takes an integer and formats it in a suitable manner for presentation.

In the current version, the type parameter bytes is used to reduce the number and append a suitable suffix (gb, mb or k if necessary).

ParameterTypeDescription
number integer The input number to appropriately format
type string Currently, only "bytes" is supported. The resulting string has "gb", "mb", "k" or nothing appended to it

HeaderEncode ( text ): string

This method encodes a string in a manner suitable for use in an RFC2822 header. Some characters are not valid in this context (such as 8bit characters or escape sequences) and must therefore be encoded using a standard mechanism.

The mechanism for encoding this text is inline content encoding which is a compact system that can identify character set and then encode the data using the basic 7bit character set.

This method only encodes the text if it is necessary, making it safe to execute on any text that will be used in a message header. The output format is quoted-printable and the default character-set is assumed.

See HeaderDecode for more information. For encoding To: style headers, see

ParameterTypeDescription
text string The string to be encoded

HeaderEncodeTo ( text ): string

This method is very similar to HeaderEncode but is necessary when encoding header entries with multiple parts that must be encoded separately.

Normally, when a string requires encoding, the entire string is converted into quoted-printable. This is unsuitable for header entries such as To: where multiple addresses may be specified. Typically only the Names need to be encoded, while the e-mail addresses and separators should not.

Therefore, this method effectively divides the input text into a set of strings and each is tested for encoding separately, and then the string is re-combined.

Use this method for To: and CC: headers.

ParameterTypeDescription
text string The string to be encoded

HeaderDecode ( text ): string

This method decodes a header string that may have been encoded using compact inline MIME encoding.

RFC2822 requires that all message headers be basic 7bit, which excludes various accent or language specific characters. In order to carry this data, header text can be encoded using a method called inline content encoding. This is a special construct that converts 8bit characters into 7bit using a content transfer encoding of either quoted-printable or base64.

This inline encoding also specifies the output character set.

Note: the entire subject line is encoded. This will cause problems for To: and CC: lines where other applications may need to extract e-mail addresses without first decoding. Use to handle encoding of this type of header.

Example

As an example: the subject line shown below...

Subject: The price is £99

...contains an 8bit character (the pound sign). The encoding of this text would be...

Subject: =?iso-8859-1?Q?The_price_is=A399?=

The encoded string identifies the character set (iso-8859-1), the content-encoding selected (Q indicates quoted-printable) and then the text appropriately encoded.

See also HeaderDecode

ParameterTypeDescription
text string The string to be decoded

HeaderDecodeHtml ( text ): string

This method is similar to the HeaderDecode method except that the output is appropriately encoded for HTML if the input charset is UTF-8.

ParameterTypeDescription
text string The input string, which may be encoded using inline content encoding

HeaderDecodeUtf8 ( text ): string

This method is similar to the HeaderDecode method except that the output is converted to UTF-8.

ParameterTypeDescription
text string The input string, which may be encoded using inline content encoding

DisDecode ( text ): string

This method encodes a string in a suitable format for sending to the Directory Information Service. Directory Information is managed using LDAP techniques which require rigid text encoding. The function is similar to URLEncode in that a single string is encoded by replacing invalid characters.

ParameterTypeDescription
text string The string to be encoded

DisDecode ( text ): string

This method decodes a string returned by the Directory Information Service. The output is very similar to the URLDecode method but line breaks are handled in a better manner.

The DIS provides address book information and text being received from the DIS should first be decoded with this method.

If you wish to display the decoded data in HTML, consider using the DisToHtml method instead. See also DisDecode.

ParameterTypeDescription
text string The string to be decoded

DisToHtml ( text ): string

This method is similar to DisDecode except that where appropriate output characters are re-encoded in a manner suitable for display in HTML. In particular, line breaks are encoded into <br> strings.

See also DisDecode

ParameterTypeDescription
text string The string to be decoded

SuffixNonBlank ( text , suffix ): string

This method will return the concatenation of two strings only if the first string is non-blank (not equal to an empty string).

See also PrefixNonBlank, SurroundNonBlank

ParameterTypeDescription
text string This string must be non-blank in order to return the concatenation
suffix string This is the suffix to attach if the parameter text is not blank

PrefixNonBlank ( prefix , text ): string

This method will return the concatenation of two strings only if the second string is non-blank (not equal to an empty string).

See also SuffixNonBlank, SurroundNonBlank

ParameterTypeDescription
prefix string This is the prefix to attach if the parameter text is not blank
text string This string must be non-blank in order to return the concatenation

SurroundNonBlank ( prefix , text , suffix ): string

This method will return the concatenation of three strings only if the second is non-blank (not equal to an empty string).

See also SuffixNonBlank, PrefixNonBlank

ParameterTypeDescription
prefix string This is the prefix to attach if the parameter text is not blank
text string This string must be non-blank in order to return the concatenation
suffix string This is the suffix to attach if the parameter text is not blank

JoinNonBlank ( sep , text ): string

This method selects the non-blank strings from the given parameters and returns them as a single string joined by the given separator.

Example

var table = Toolkit.JoinNonBlank(", ", "One", "", "Three");
table == "One, Three";

ParameterTypeDescription
sep string The separator to use in the output string
text string (Optional, Repeated) The strings to be concatenated

WrapToColumn ( document , column , exceptchars ): string

This method takes a block of text and word-wraps it to the given column. If the input block includes CR/LF separators, then each line is wrapped separately.

Optionally, a set of exception characters can be given and if any line starts with one of these characters then the line will not be wrapped.

This method is used to wrap text when composing an e-mail. Typically replies include lines prefixed with > characters and those lines should not be wrapped (so the > character should be included in the exception characters.

Similarly, lines beginning with a | character represent quoted text and should also not be wrapped.

ParameterTypeDescription
document string The document to process. May multi-line text with lines separated by CR/LF pairs.
column integer The column number at which to wrap. For Internet e-mail this is typically 72 to 76
exceptchars string A string of characters that, if they appear at the start of a line, will prevent that line from being wrapped. Typically this would be ">|"

TabList ( item ): string

This method takes a variable number of parameters and returns them as a single string separated by tabs. This can be useful when combined with TabMap.

ParameterTypeDescription
item any (Optional, Repeated) Any parameter that can be converted to a string

TabMap ( list , map , field ): string

This method takes two tab lists (such as those created by TabList) and uses one as a map into the other to return a specific item. The first list is a list of text items. The second is a list of field names in the same order as the first list. The third parameter is a field name that must match one in the second list. The index of that field name in the second list is used to return an item from the first list.

See also TabList

Example

var map = Toolkit.TabList("name", "email", "tel");
var person = Toolkit.TabList("John Smith", "jsmith@host.com", "1-555-123456");
var email = Toolkit.TabMap(person, map, "email");
email == "jsmith@host.com"

ParameterTypeDescription
list string A tab-separated list of items from which the result will be selected
map string A tab-separated list of field names
field string A field name from the map list

ListItemOf ( list , sep , index ): string

This method returns an indexed item from a string list. Each item in the list must be separated by one ore more characters from the given separator string.

The index is zero based, so the second item is numbered 1.

Example

var list = "one, two, three,four, five";
var item_two = Toolkit.ListItemOf(list, " ,", 1);
item_two == "two";

See also ListContains, ListRemove, ListCount

ParameterTypeDescription
list string A list of strings separated using characters from the sep parameter
sep string A string containing characters used to separate items in the list.
index integer An index into the list parameter representing the item to return

ListContains ( list , sep , value ): boolean

This method tests the given list to determine if it contains a given string value. The list must be a sequence of strings separated by one or more character from the sep parameter.

See also ListItemOf, ListRemove, ListCount

ParameterTypeDescription
list string A list of strings to test the contents of
sep string Items in list are separated by one or more characters from this string
value string This method returns true only if this value exists in list

ListRemove ( list , sep , value ): string

This method will remove a specified item from the given list and return the new list as a single string.

The list must be a sequence of strings separated by one or more character from the sep parameter.

See also ListItemOf, ListContains, ListCount

ParameterTypeDescription
list string A list of strings from which the value is to be removed
sep string Items in list are separated by one or more characters from this string
value string The item to remove from list

ListCount ( list , sep ): integer

This method will return the number of items in the given list.

The list must be a sequence of strings separated by one or more character from the sep parameter.

See also ListItemOf, ListContains, ListRemove

ParameterTypeDescription
list string A list of strings from which the value is to be removed
sep string Items in list are separated by one or more characters from this string

VDateCreate ( year , month , day , hour , minute , second ): string

This method creates a date in the VDate format, used in the Calendaring system. The VDate format is also useful as it can be sorted alphanumerically and is not locale-dependent.

ParameterTypeDescription
year integer Year (four digit format)
month integer Month (January is month 1)
day integer Day (range 1 to 31)
hour integer Hour (range 0 to 23)
minute integer Minutes (range 0 to 59)
second integer Seconds (range 0 to 59)

VDateFormat ( vdate , format ): string

This method formats a date in the specified manner using the system locale.

The format string is made up of tokens and literals. Literals are surrounded by quotes (as in "text"). The available tokens are :-

__ yy two digit year
__ yyyy four digit year
__ m month number without leading zero
__ mm two digit month number (1-9 with leading zero)
__ mmm three character abbreviated month name
__ mmmm full month name
__ d day number without leading zero
__ dd two digit day number (1-9 with leading zero)
__ ddd three character abbreviated day name
__ dddd full day name
__ h hours in 24 hour format without leading zero
__ hh two digit hour in 24 hour format
__ n minutes without leading zero
__ nn two digit minutes
__ s seconds without leading zero
__ ss two digit seconds
__ am/pm either am or pm as appropriate (changing h and hh to 12 hour format
__ a/p either a or p as appropriate (changing h and hh to 12 hour format

Example

var dt = Toolkit.VDateFormat('20040201153059', 'dddd, mmm d "at" hh:nnam/pm');
dt == "Sunday, Feb 1 at 3:30pm";

ParameterTypeDescription
vdate string The date (in VDate format) to format
format string The format string that will control the presentation of the date

DateTimeToVDate ( datetime ): string

Converts a DateTime (Float) to VDate (String)

ParameterTypeDescription
datetime float

VDateToDateTime ( vdate ): float

Converts a VDate (String) to DateTime (Float)

ParameterTypeDescription
vdate string

DateTimeToUnix ( datetime ): int64

Converts a DateTime (Float) UNIX Time (Integer)

ParameterTypeDescription
datetime float

UnixToDateTime ( udate ): float

Converts a UNIX Date (Integer) to DateTime (Float)

ParameterTypeDescription
udate int64

FirstNameOf ( fullname ): string

This method extracts a first name from a string that should represent a person's full name. It will not always be successful but in most cases it will provide a reasonable assumption.

ParameterTypeDescription
fullname string The full name from which the sub-part is to be extracted

SurnameOf ( fullname ): string

This method extracts a surname from a string that should represent a person's full name. It will not always be successful but in most cases it will provide a reasonable assumption.

ParameterTypeDescription
fullname string The full name from which the sub-part is to be extracted

UserOfEmail ( email ): string

This method extracts the user part of an e-mail address. The user part is the string before the @ symbol and is sometimes called the mailbox.

ParameterTypeDescription
email string The fully qualified e-mail address from which the sub-part is to be extracted

DomainOfEmail ( email ): string

This method extracts the domain part of an e-mail address. The domain part is the string after the @ symbol.

ParameterTypeDescription
email string The fully qualified e-mail address from which the sub-part is to be extracted

FullnameOf ( email ): string

This method extracts the user's name from an RFC2822 header style name/address pair. The format is not standardised but is typically either Full Name <email@address.com> or <email@address.com> (Full Name). This method is capable of extracting the full name from either format and from most variations.

ParameterTypeDescription
email string The fully qualified e-mail address and name pair from which the sub-part is to be extracted

InsertParams ( template , param ): string

This method inserts one or more strings into another string in positions designated by markers. The markers are $1 through $9 representing the first through ninth parameters.

Example

var txt = Toolkit.InsertParams("The $2 parameter is not $1", "one", "second");

ParameterTypeDescription
template string This is the template string with one or more markers which will be replaced by later parameters
param any (Optional, Repeated) One or more variables that can be converted into strings will be inserted into the template string and returned as the method result

QualifyAddresses ( list , domain ): string

This method takes a line of text containing e-mail addresses that will eventually be used to form a To: or CC: header, and ensures that each address is fully qualified. If an apparent addresses does not include a domain name, the given domain is appended.

ParameterTypeDescription
list string A To: or CC: line containing e-mail addresses with optional name strings
domain string The domain to append to local addresses

HtmlToPlainText ( html ): string

This method takes an HTML string and converts it into plain text format. BR tags are replaced with line breaks, P tags are replaced with double line breaks, brackets and ampersands are decoded, all whitespace is truncated to single characters and line breaks and tags stripped. The resulting plain-text should be considered UTF-8.

ParameterTypeDescription
html string The HTML string to be decoded

DnsLookupA ( host ): string

This method takes a host name and resolves it to a dotted quad IP address. If an error occurs or the name cannot be resolved, an integer error code is returned.

ParameterTypeDescription
host string The fully qualified host name you wish to resolve

DnsLookupMx ( host ): string

This method takes a host name and queries the available DNS servers for the registered MX hosts (mail servers) that will accept mail for it. The returned string is a comma separated list of hosts and priority values. For example, querying "host.domain.tld" may return "50,mx1.host.domain.tld,150,mx2.host.domain.tld". If an error occurs or the name cannot be resolved, an integer error code is returned.

ParameterTypeDescription
host string The fully qualified host name you wish to resolve

DnsLookupTxt ( host ): string

This method takes a host name and queries the available DNS servers for the TXT record. The returned string is the entire TXT record. If an error occurs or the name cannot be resolved, an integer error code is returned.

ParameterTypeDescription
host string The fully qualified host name you wish to resolve

DnsLookupPtr ( host ): string

This method takes a dotted-quad IP address and queries the available DNS servers for a referse lookup. The returned string is the fully qualified host name that will resolve to the given IP address. If an error occurs or the name cannot be resolved, an integer error code is returned.

ParameterTypeDescription
host string The dotted-quad IP address you wish to resolve

DblVerify ( ip , dbl ): string

This method takes a dotted-quad IP address and queries the given DBL (Database Black List). If the DBL has a record for the given IP address, a combination of the return IP address and the associated TXT description will be returned, separated by a tab character. If the IP address is not in the database, null will be returned.

Example response: 127.0.0.1\tThis host is blacklisted

ParameterTypeDescription
ip string The dotted-quad IP address you wish to submit to the DBL
dbl string The host name of the DBL server you wish to query. You should not prefix the server with wildcards or the IP address itself. If you query, for example, "dblverify.tld" with the ip address "192.168.1.1" then the actual A record query will be "1.1.168.192.dblverify.tld".

SpfVerify ( ip , helo , domain ): string

This method takes an IP address of a connecting peer and its HELO host name, along with the domain name of the message return path, and performs an SPF query to validate whether the peer is an authorised sender for the given domain.

The possible responses are "+" for pass, "-" for fail, "?" for neutral, "~" for soft-fail, "e" for an error and "" for no records found.

ParameterTypeDescription
ip string The dotted-quad IP address of the connecting peer
helo string The host name given in the HELO statement, which will be used as a fallback if the peer IP address cannot be used
domain string The domain name given in the message return path

LongQuoteString ( text ): string

This method takes a long string and prepares it for embedding in a client-side script by splitting it into a javascript concatenation scriptlet.

ParameterTypeDescription
text string The source string

MessageTimestamp ( timestamp , tz ): string

This method takes a timestamp (optional) and formats it according to the RFC822 Date: message header

ParameterTypeDescription
timestamp string A time stamp in the Calendaring format
tz string The time zone

HashMD5 ( text ): string

This method takes a string and returns the MD5 hash in hexadecimal

ParameterTypeDescription
text string A string to hash

CharsetConvert ( str , src_cs , dst_cs ): string

This method takes text in one character set and converts it to another character set

ParameterTypeDescription
str string The string in the original character set
src_cs string The name of the source character set
dst_cs string The name of the destination character set


MailMessage

This object represents an e-mail message.

Properties

LineCount
Headers
Sender
Recipients
Size
MessageId
MessageIdHash

Methods

Add
GetLine
GetHeader
SetHeader
Cancel
InsertFooter
ConsentAnalyze

Properties

______

LineCount : integer

This is the number of lines (including header, message body and attachments) in this message.

Headers : Strings

The message header fields in the form of a list of strings. Use the methods to access and/or modify the fields themselves.

Sender : string

This is the envelope Return-Path of the message. It is not necessarily the same as the sender specified in the message header.

Recipients : Strings

The recipients of this message in the form of a list of strings. Each string is a single e-mail address in standard format. Use the methods to access and/or modify the recipients.

Size : integer

The size (in bytes) of the message (including header, body and attachments)

MessageId : string

This is the Message ID from the header.

MessageIdHash : string

This is the MD5 hash of the Message ID from the header, used for some directory operations and message tracking.

Methods

______

Add ( line ): none

This message adds a single line to the end of the mail message. The line can include CR/LF pairs which will result in multiple lines being added in a single call.

ParameterTypeDescription
line string A line of text to append to the end of a message.

GetLine ( index ): string

This method returns a specified line from the mail message. The line is indexed by the given parameter, staring from zero for the first line.

ParameterTypeDescription
index integer The index of the line to be returned

GetHeader ( field ): string

This method returns a named header value from the message header. If the header matches multiple entries then they are concatenated and returned as a single string.

If no matching header is found an empty string is returned.

See also

ParameterTypeDescription
field string The header field to extract (e.g. To, Subject, X-Mailer)

SetHeader ( field , value ): none

This method adds or modifies a message header with the given field name and value. If the header already exists, it is removed and the new value put in its place. If the header does not exist, then it is appended to the message header at the end (before the body begins). If multiple matching headers exist, they are all removed and the first instance replaced with the new value.

If the new header value may contain 8bit characters, it should be processed with HeaderEncode first.

See also

ParameterTypeDescription
field string The field to add or replace (e.g. To, Subject, X-Mailer)
value string The value of the field.

Cancel (): none

This method cancels a template message, preventing it from being sent.

InsertFooter ( plaintext , htmltext ): none

Inserts text into a footer/disclaimer position in a message

ParameterTypeDescription
plaintext string The plain text version of the string to insert
htmltext string The HTML text version of the string to insert

ConsentAnalyze ( mailbox ): boolean

Analyzes the message using the recipient mailboxes consent database and returns true if the message is OK or false if it should be rejected.

ParameterTypeDescription
mailbox string The name of the mailbox to use for analysis. If this parameter is null then the mailbox is chosen using the first local recipient in the message envelope.


Strings

This object is an ordered collection of strings. Each string can be extracted or modified based on index (starting with zero for the first string).

Properties

Text
CommaText
Count

Methods

Get
Set
Delete
IndexOf
Contains
Replace
Remove

Properties

______

Text : string

A single concatenation of all the strings in the list separated by CR/LF pairs.

CommaText : string

A single concatenation of all the strings in the list separated by CR/LF pairs. If one of the strings contains a space then the entire string is enclosed in quotation marks. If the string contains a quotation mark then it is replaced with a pair of quotation marks.

Count : integer

The number of strings contained in the list.

Methods

______

Get ( index ): string

This method returns a single string from the list, indexed by the given parameter.

ParameterTypeDescription
index integer The index of the string to return (first string is zero).

Set ( index , line ): none

This method replaces a string in the list specified by the given index. If the index is the list size then the string is added.

ParameterTypeDescription
index integer The index of the string to replace (first string is zero, use list count to append)
line string The string to replace or add to the list

Delete ( index ): none

This method removes a single string from the list, specified by the given index

ParameterTypeDescription
index integer The index of the string to remove (first string is zero)

IndexOf ( text ): integer

This method returns the index of the the first string that matches (not case sensitively) the given string.

ParameterTypeDescription
text string The string to search the list for

Contains ( text ): boolean

This method returns true if the given string appears anywhere in the list. A case-insensitive search is performed.

ParameterTypeDescription
text string The string to search the list for

Replace ( text , rep ): boolean

This method replaces all occurrences of text with rep. Each string in the list is compared (case-insensitively) and the entire string is replaced if it matches.

If one or more strings are replaced then the method returns true, otherwise it returns false.

ParameterTypeDescription
text string The string to search the list for
rep string The string to replace text with

Remove ( text ): integer

This method removes every occurrence of text from the list. Each string in the list is compared (case insensitively) and the entire string is removed if it matches.

If one or more strings are removed then the method returns true, otherwise it returns false.

ParameterTypeDescription
text string The string to remove


Config

This object represents the current system configuration, including user accounts and system setup.

Properties

UserCount
LocalHost
LocalHostAliases
LocalHostAliaseList
ServiceList
DefaultTimezoneId

Methods

GetUser
GetUserByIndex
GetUserById
GetMailslot
CreateUser
CreateMailbox
CreateMailingList
CreateArchive
DeleteUser
DeleteMailslot
AuthenticateUser
GetAllUsers
GetAllMailslots
GetAllMailboxes
GetAllMailingLists
GetAllArchives
VerifyHamtoken
IssueHamtoken

Properties

______

UserCount : integer

Returns the number of user accounts configured on the system.

LocalHost : string

Returns or sets the primary domain name for this system.

LocalHostAliases : string

Returns or sets the aliases of the primary domain name. The aliases are treated as a comma-separated list.

LocalHostAliaseList : Strings

Returns a string list of domain aliases (the same aliases that LocalHostAliases returns, but in a Strings object.

ServiceList : ServiceList

Returns the list of configured services.

DefaultTimezoneId : integer

This is the time zone id assigned to users who have not yet selected one

Methods

______

GetUser ( name ): User

This method returns a specified user object. If the user does not exist, then a null is returned instead. The user is specified by it's user name.

See also GetUserByIndex

ParameterTypeDescription
name string The user account name

GetUserByIndex ( index ): User

This method returns a specified user object. If the user does not exist, then a null is returned instead. The user is specified by it's index (zero for the first user and the last user is one less than the value returned by UserCount.

See also GetUser

ParameterTypeDescription
index integer The user account index

GetUserById ( id ): User

This method returns a specified user object. If the user does not exist, then a null is returned instead. The user is specified by it's id (zero is the administrator).

See also GetUser

ParameterTypeDescription
id integer The user account id

GetMailslot ( name ): Mailslot

This method returns a specified mailslot object. If the mailslot does not exist, then a null is returned instead. The mailslot is specified by it's name.

ParameterTypeDescription
name string The name of the requested mailslot

CreateUser ( username , fullname , password , template (optional) , mailboxtemplate (optional) ): User

This method creates a new user account with the given parameters (subject to sufficient remaining user licenses).

The newly created user account is returned by this method, or null if user creation was unsuccessul.

ParameterTypeDescription
username string The new user name to assign. Must be short and should not have spaces or any formatting characters, 8bit or escape characters.
fullname string A full descriptive name for the new user. Typically this is the user's real name.
password string The user's new password. This is a case-sensitive string.
template (optional) string The name of a template user account. If given, all the settings for the new user are copied from this user account.
mailboxtemplate (optional) string The name of a template mailbox. If given, a mailbox is created and assigned to the new user. All the mailbox settings are copied from the template mailbox.

CreateMailbox ( name , owner ): Mailslot

This method creates a new mailbox object and returns it. The given mailbox name must be unique. By default, the new mailbox will be owned by the administrator. If a user account name is given, the new mailbox will be assigned to that user.

ParameterTypeDescription
name string The mailbox name to assign to this mailslot. It must not already be used by any other mailslot.
owner string (Optional) The user name representing the user account to which the new mailbox should be assigned.

CreateMailingList ( name , owner ): Mailslot

This method creates a new mailing list object and returns it. The given mailing list name must be unique. By default, the new mailing list will be owned by the administrator. If a user account name is given, the new mailing list will be assigned to that user.

ParameterTypeDescription
name string The mailing list name to assign to this mailslot. It must not already be used by any other mailslot.
owner string (Optional) The user name representing the user account to which the new mailing list should be assigned.

CreateArchive ( name , owner ): Mailslot

This method creates a new archive object and returns it. The given archive name must be unique. By default, the new archive will be owned by the administrator. If a user account name is given, the new archive will be assigned to that user.

ParameterTypeDescription
name string The archive name to assign to this mailslot. It must not already be used by any other mailslot.
owner string (Optional) The user name representing the user account to which the new archive should be assigned.

DeleteUser ( username , mailslots (optional) ): none

This method deletes the named user account. If specified, all owned mailslots will be deleted as well.

ParameterTypeDescription
username string The name of the user account to delete
mailslots (optional) boolean If true then all the mailslots owned by this user account will be deleted as well.

DeleteMailslot ( name ): none

This method deletes the named mailslot (mailbox, mailing list or archive).

ParameterTypeDescription
name string The name of the mailslot to remove

AuthenticateUser ( username , password , context , ipaddress ): User

This method takes a username and password and if the password matches then the user object is returned, otherwise null is returned. This method provides a concise method of authentication.

ParameterTypeDescription
username string The user account name to authenticate
password string The password to match against the user account
context string Context for MD5 or SHA1 based hash verification. Insert %s into the string to be replaced with the password
ipaddress string The IP address of the user wishing to log in. If this is present then the WebMail local login requirement will be tested.

GetAllUsers ( ): string

This method returns a comma-separated list of all the users in the system. Use functions such as ListItemOf to access the items in the list.

ParameterTypeDescription

GetAllMailslots ( ): string

This method returns a comma-separated list of all the mailslots in the system (including all mailboxes, mailing lists and archives). Use functions such as ListItemOf to access the items in the list.

ParameterTypeDescription

GetAllMailboxes ( ): string

This method returns a comma-separated list of all the mailboxes in the system. Use functions such as ListItemOf to access the items in the list.

ParameterTypeDescription

GetAllMailingLists ( ): string

This method returns a comma-separated list of all the mailing lists in the system. Use functions such as ListItemOf to access the items in the list.

ParameterTypeDescription

GetAllArchives ( ): string

This method returns a comma-separated list of all the archives in the system. Use functions such as ListItemOf to access the items in the list.

ParameterTypeDescription

VerifyHamtoken ( address ): boolean

This method checks the given e-mail address to see if it contains a valid hamtoken (in the format mailbox+timedhash@example.com) for a local mailslot. Returns false if the address is non-local or doesn't match a local mailbox.

ParameterTypeDescription
address string E-mail address to verify

IssueHamtoken ( address ): boolean

This method takes an e-mail address representing a local mailslot and returns a hamtoken (in the format mailbox+timedhash@example.com) which will be valid for the next seven days.

ParameterTypeDescription
address string E-mail address to hash


User

This object represents a single user account in the system. Objects of this type can be obtained by using and .

Properties

Name
Id
FullName
Password
CreationDate
LastLogin
PrimaryMailbox
EnableWebmail
SenderAddress
TimeZone
Language

Methods

AddPrivilege
RemovePrivilege
HasPrivilege
GetUserData
SetUserData
GetAccessToMailbox
SetAccessToMailbox
UnsetAccessToMailbox
GetAccessMailboxes
GetOwnedMailboxes
GetAccessToCalendar
SetAccessToCalendar
UnsetAccessToCalendar
GetAccessCalendars
GetAccessToAddressbook
SetAccessToAddressbook
UnsetAccessToAddressbook
GetAccessAddressbooks
CheckRecipients
UpdateFolderHierarchy
GetLdapField
SetLdapField
AcceptVCalendarResponse

Properties

______

Name : string

This is the unique name of the user account. It should contain only alphanumeric characters and underscores. Although other characters are permitted (for compatibility with other systems), they are not recommended.

Id : integer

A unique number identifying the user

FullName : string

This is the descriptive text for the user account and should be the full user name.

Password : string

This is the password text for this account. The password is used when users authenticate. Password comparisons in the system are normally case-sensitive.

CreationDate : date

This is the date and time at which the account was created.

LastLogin : date

This is the date at which authentication last took place, which usually represent a login of some sort (such as for POP3, IMAP, WebMail, etc).

PrimaryMailbox : string

This is the primary mailbox assigned to the user. The property is a string representing the name of the mailbox, not the mailbox object itself. The primary mailbox can be changed to any mailbox owned by the user.

The primary mailbox is typically used as the sending address for e-mail sent via WebMail, and is used as the e-mail address for the user in directory enquiries (such as LDAP access to the local directory).

The primary mailbox is also the default mailbox presented in the WebMail system for this user.

EnableWebmail : boolean

This property is used to determine whether or not the user can log in to the WebMail system. In addition, the user must have a primary mailbox.

SenderAddress : string (Read Only)

This is the fully qualified e-mail address to be used for this user. It is obtained from the PrimaryMailbox object.

TimeZone : string

This is the time zone associated with the user. It is used as a reference to a defined time zone in the Timezones object.

The calendaring system uses this property to present the calendar information to the user.

Language : string

This is the language code associated with the user. The format is either a two-character language code (e.g. en or fr) or a two-character language code and two-character region code separated by a hyphen (e.g. en-uk or fr-ca).

If this property is not defined then the Web Server system will attempt to extract the language from the browser.

Methods

______

AddPrivilege ( privilege ): none

This method adds a named privilege to the user's privilege list.

See HasPrivilege for a list of the defined privileges.

ParameterTypeDescription
privilege string A named privilege to assign to this user

RemovePrivilege ( privilege ): none

This method removes a named privilege from the user's privilege list.

See HasPrivilege for a list of the defined privileges.

ParameterTypeDescription
privilege string A named privilege to remove from this user

HasPrivilege ( privilege ): boolean

This method returns true if the named privilege exists within the user's privilege list.

The available privleges are :-
__ Administrator The user has system administration privileges. In WebMail this provides access to the admin menu, and also allows the user to modify any exposed property in the system and access other mailboxes.
__ UseWebProxy This privilege allows the user to use the Web Proxy (if available). To prevent anonymous access to the web proxy this privilege should not be granted to the guest user
__ FtpLogin This privilege allows the user to log in to the FTP Server. This does not necessarily allow the user to use the FTP Proxy.
__ FtpWrite This privilege grants the user write/modify/upload permissions when using the FTP Server
__ FtpProxy This privilege grants the user access to the FTP Proxy (though not necessarily to the FTP server).
__ FtpHomepage This privilege gives the user access to their private home page when logged in to the FTP server, instead of the global FTP root directory.
__ RelayMail This privilege grants the user permission to send mail outside the local system from their SMTP mail client (the process is called Relaying).

ParameterTypeDescription
privilege string The privilege which is being tested

GetUserData ( prop ): string

This method returns a single user-defined property that is stored in the user configuration. Any property name can be used and if the property does not exist an empty string is returned.

ParameterTypeDescription
prop string The property name to return

SetUserData ( prop , value ): none

This method sets a single user-defined property that is stored in the user configuration. Any property name can be used and if the property does not exist then a new property is added.

ParameterTypeDescription
prop string The property name to assign a value to
value string The value to assign to the named property

GetAccessToMailbox ( mailbox ): integer

This method returns the access control for a single mailbox with respect to the user. The value returned is the bitwise-or of the following values :-
__ 0x0001 (Subscribed) Set if the user is subscribed to the named mailbox.
__ 0x0002 (Read) Set if the user has permission to read the contents of the mailbox (and permission to subscribe to the mailbox).
__ 0x0004 (Write) Set if the user has permission to change the contents of the mailbox.

ParameterTypeDescription
mailbox string The name of the mailbox to retrieve access values for

SetAccessToMailbox ( mailbox , flags ): none

This method sets the given access control flags for the specified mailbox. Flags that are not specified are left unchanged.

See GetAccessToMailbox for the individual access control flag values.

ParameterTypeDescription
mailbox string The name of the mailbox for which access control flags are to be modified.
flags integer The flags to be modified (individual flags can be added together).

UnsetAccessToMailbox ( mailbox , flags ): none

This method clears the given access control flags for the specified mailbox. Only the specified flags are cleared, the rest are left unchanged.

See GetAccessToMailbox for the individual access control flag values.

ParameterTypeDescription
mailbox string The name of the mailbox for which access control flags are to be modified.
flags integer The flags to be modified (individual flags can be added together).

GetAccessMailboxes ( ): string

This method returns a comma separated list of mailboxes that the user has access to (Subscribe, Read or Write).

See GetAccessToMailbox for the individual access control flag values.

ParameterTypeDescription

GetOwnedMailboxes ( ): string

This method returns a comma separated list of mailboxes that are owned by the user.

ParameterTypeDescription

GetAccessToCalendar ( calendar ): integer

This method returns the sum of the access control flags for the specified calendar (with respect to the user).

The flag values are given below
__ 0x0001 (Subscribed) Set if the user is subscribed to the named calendar.
__ 0x0002 (Read) Set if the user has permission to read the contents of the calendar (and permission to subscribe to the calendar).
__ 0x0004 (Write) Set if the user has permission to change the contents of the calendar.

ParameterTypeDescription
calendar string The name of the calendar to return access control flags for

SetAccessToCalendar ( calendar ): none

This method sets the specified access control flags on the given calendar with respect to the user. The access control flags that are not specified are left unchanged.

See GetAccessToCalendar for the individual flag values.

ParameterTypeDescription
calendar string The name of the calendar to change access control flags for

UnsetAccessToCalendar ( calendar ):

This method clears the specified access control flags on the given calendar with respect to the user. The access control flags that are not specified are left unchanged.

See GetAccessToCalendar for the individual flag values.

ParameterTypeDescription
calendar string The name of the calendar to change access control flags for

GetAccessCalendars ( ): string

This method returns a list of calendars that the user has access to (including Subscribe, Read and Write flags). The returned list is a tab separated list of calendar names and access control flags.

Example

var list = new String(user.GetAccessCalendars()).split("\t");
for (var i < list.length; i += 2) {
Response.Write("Calendar: " + list[i] + ", Access: " + list[i+1] + "\n");
}

ParameterTypeDescription

GetAccessToAddressbook ( calendar ): integer

This method returns the sum of the access control flags for the specified calendar (with respect to the user).

The flag values are given below
__ 0x0001 (Subscribed) Set if the user is subscribed to the named calendar.
__ 0x0002 (Read) Set if the user has permission to read the contents of the calendar (and permission to subscribe to the calendar).
__ 0x0004 (Write) Set if the user has permission to change the contents of the calendar.

ParameterTypeDescription
calendar string The name of the calendar to return access control flags for

SetAccessToAddressbook ( addressbook ): none

This method sets the specified access control flags on the given calendar with respect to the user. The access control flags that are not specified are left unchanged.

See GetAccessToAddressbook for the individual flag values.

ParameterTypeDescription
addressbook string The name of the addressbook to change access control flags for

UnsetAccessToAddressbook ( addressbook ):

This method clears the specified access control flags on the given calendar with respect to the user. The access control flags that are not specified are left unchanged.

See GetAccessToAddressbook for the individual flag values.

ParameterTypeDescription
addressbook string The name of the addressbook to change access control flags for

GetAccessAddressbooks ( ): string

This method returns a list of calendars that the user has access to (including Subscribe, Read and Write flags). The returned list is a tab separated list of calendar names and access control flags.

Example

var list = new String(user.GetAccessAddressbooks()).split("\t");
for (var i < list.length; i += 2) {
Response.Write("Addressbook: " + list[i] + ", Access: " + list[i+1] + "\n");
}

ParameterTypeDescription

CheckRecipients ( rcpts , dis ): string

This method takes a comma-separated list of e-mail recipients and verifies that the user can send mail to these recipients. The return value is either en empty string, indicating all the recipients are acceptable, or a comma-separated list of the unacceptable recipients.

This method will not ensure that a message can be delivered to the accepted recipients, only that the addresses themselves appear syntactically valid, and are local (if the sender does not have relay permission).

ParameterTypeDescription
rcpts string A comma-separated list of e-mail addresses
dis boolean If true, recipients will be considered acceptable if they exist in either the Global Address Book or Personal Address Book for this user.

UpdateFolderHierarchy ( cache ): string

This method will return a folder hierarchy for this user. The hierarchy includes all folders and objects accessible to the user in a single string that includes parent-child relationships. Optionally a string can be given that was returned from a previous call, which can short-cut some of the processing.

The returned string is in the following format :-

(objtype|mailslot|folder|description|, count, new_count, size, branchstate, timestamp : [(hierarchy)[(hierarchy)[...]])

ParameterTypeDescription
cache string This optional parameter should contain the last response from this method. The timestamp property for each node will determine whether or not the data should be re-checked. Also, if any branchstate is set to "closed" then child data will not be re-checked.

GetLdapField ( field ): string

This methid will return a specific LDAP field value for the user.

ParameterTypeDescription
field string The LDAP field name to retrieve

SetLdapField ( field , value ): string

This method will set a specific LDAP field value for the user.

ParameterTypeDescription
field string The LDAP field name to set
value string The value of the LDAP field to set

AcceptVCalendarResponse ( vcalendar ): boolean

This method searches all calendars that this user has access to for the specified events and updates the participation data. The method returns True if an event that could be updated was found.

ParameterTypeDescription
vcalendar string The VCalendar text


ConfigPop3

Properties

Enabled
Server
Account
Password
Status
Local
LastCollection
LastAttempt
LeaveOnServer

Methods

Properties

______

Enabled :

Server :

Account :

Password :

Status :

Local :

LastCollection :

LastAttempt :

LeaveOnServer :

Methods

______


FolderFiltering

This object is a property of the mailbox and is used to control automatic filtering of incoming mail into the appropriate sub-folders (or marked appropriately).

Properties

Count

Methods

Get
Replace
Swap
Add
Delete
Clear

Properties

______

Count : integer

This property represents the number of filtering rules defined for the mailbox. Rules are numbered zero through this value - 1.

Methods

______

Get ( index ): string

This method returns a single filtering rule as a single string. This string is made up of a list of tab separated values.

The values in this string are explained below :-

  1. The destination folder and flags combined
  2. Group Logic Code
  3. Sub-Rule Logic Code
  4. Sub-Rule Header Field Name
  5. Sub-Rule Matching Field Value

In the list above, items 3 through 5 are repeated for every additional sub-rule in a compound rule.

The Group Logic Codes are :-
__ 1 None (no sub-rules must match for this rule to match)
__ 2 Any (one or more sub-rules must match for this rule to match)
__ 3 All (all the sub-rules must match for this rule to match)
__ 4 Not All (some rules, but not all rules, can match for this rule to match)

the Sub-Rule Logic Codes are :-
__ 5 Contains (the given value must exist in the header)
__ 6 Does not Contain (the given value must not exist in the header)
__ 7 Less Than (the given value must be an integer which is less than the integer in the header)
__ 8 Greater Than (the given value must be an integer which is greater than the integer in the header)
__ 9 Equals (the given value must be equal to the value in the header)

ParameterTypeDescription
index integer The index of the rule to return

Replace ( index , string ): none

This method replaces an existing rule with the given rule in the same format as would be returned by Get.

ParameterTypeDescription
index integer The index of the rule being replaced
string rule The rule string to replace the existing indexed rule

Swap ( index1 , index2 ): none

This method swaps two existing filter rules based on their index values. As rules are evaluted in order this method can be used to change that order.

ParameterTypeDescription
index1 integer The index of the first rule to swap
index2 integer The index of the second rule to swap

Add ( rule ): none

This method adds a new rule to the folder filtering rule set. The rule must be presented in a string using the same tab-separated format as is returned by the Get method.

ParameterTypeDescription
rule string Filter Rule definition string

Delete ( index ): none

This method removes an existing filter rule based on the rule index.

ParameterTypeDescription
index integer The index to the filter rule you wish to remove

Clear ( ): none

This method removes all defined filter rules from this rule set.

ParameterTypeDescription


Mailslot

The mailslot represents a delivery point for e-mails. There are a number of mailslot types, including Mailboxes, Mailing Lists and Archives. Most functionality is shared amongst the different types, but some functions will only be useful with a spceific type. Mailslots are referred to by a unique name and are containers for e-mail messages.

Properties

Name
Description
Owner
MailGroup
MailGroupName
Visibility
Filters
AntiSpamEnabled
AntiSpamActive
AntiSpamFolder
AntiSpamReject
AntiSpamReceipt
AntiSpamDatabase
AntiSpamProfile
AntiSpamCountHam
AntiSpamCountSpam
AutoresponderText
AutoresponderIgnore
AutoresponderActive
AutoresponderCache
ForwardActive
ForwardTo
DeleteOnForward
AbuseWhitelist
Pop3Restriction
Pop3RestrictionHours
Pop3RestrictionTimestamp
Pop3RestrictionCount

Methods

IsMailbox
IsMailinglist
IsArchive
AddProperty
RemoveProperty
HasProperty
QueryMessages
QueryMessage
QueryTracking
GetMailFolders
GetMailFolderName
QueryFolders
SetMessageFlag
ClearMessageFlag
MoveMessageToFolder
CopyMessageToFolder
DeleteMessage
GetNextMessage
GetPreviousMessage
EmptyFolder
DeleteFolder
AddFolder
RenameFolder
FindMessageId
FindMessageFolder
CountMessages
RunFilters
SearchContent
AntiSpamScore
AntiSpamLearn
AntiSpamUnlearn
GetSubscriberCount
GetSubscriberByIndex
GetSubscriberByEmail
AddSubscriber
DeleteSubscriberByIndex
DeleteSubscriberByIndex
GetArchiveInterface
ArchiveMessages
MatchAddress

Properties

______

Name : string

The mailslot name which must be unique and represents the user part of the e-mail address.

Description : string

A general text description of the mailslot. If the mailslot is the user's primary mailbox then the description should be the same as the user's description.

Owner : string

The name of the user who owns this mailslot. Each mailslot is owned by a single user.

Use GetUser to retrieve the user object given the name.

MailGroup : Mailgroup

The mailgroup to which this mailslot is assigned.

MailGroupName : string

The name of the mailgroup to which this mailslot is assigned.

Visibility : integer

The level of directory visibility for this mailslot. The values are 0 (Private -- visible only to owner), 1 (Protected -- visible to local users) and (2) Public

Filters : FolderFiltering

The filtering object controls the set of rules that assign incoming mail to specific folders.

AntiSpamEnabled : boolean

If set, the anti-spam system options become available and the system begins analyzing mail destined for this mailslot.

AntiSpamActive : boolean

If set, the anti-spam system is activated at the mailbox level. This means that as mail is delivered to the mailbox it is analysed and if identified as spam it can either be modified and/or assigned to a specific folder.

AntiSpamFolder : integer

If AntiSpamActive is set, and an incoming message is identified as spam, it will be assigned to this folder.

AntiSpamReject : string

If AntiSpamReceipt is set, and an incoming message is identified as spam, it will be rejected with this message.

AntiSpamReceipt : boolean

If set, mail arriving by SMTP will be analyzed if it is clearly destined for this mailslot (and no other). If the message is identified as spam, further actions can be taken (such as rejection using AntiSpamReject.

AntiSpamDatabase : string

The name of the anti-spam database to use for this mailslot. The default is . which is a private database named after the mailslot. If another name is chosen, other mailslots may share the database and any learning or analysis will be performed with the same information.

AntiSpamProfile : integer

The identify of the system profile to use for this mailslot. 0 indicates that no profile is in use, and thus the other AntiSpam properties are specific to this mailslot.

AntiSpamCountHam : integer

The number of messages in the given database and profile that have been learned as non-spam.

AntiSpamCountSpam : integer

The number of messages in the given database and profile that have been learned as spam.

AutoresponderText : string

This is the text to include in an auto-response message. This text may include a script so it is important to escape both ASP and brace defined scriptlets when users are permitted to set the content.

AutoresponderIgnore : string

Do not auto-respond to any address in this CR/LF separated address/wildcard list.

AutoresponderActive : boolean

Set this property to true to activate the auto responder for this mailslot.

AutoresponderCache : string

The list of addresses currently in the already responded cache.

ForwardActive : boolean

Set this property to true to activate the mail forwarding feature.

ForwardTo : string

Set this property to an address or list of addresses (comma separated) to forward all incoming mail to.

DeleteOnForward : boolean

Set this property to true to delete mail when it is forward rather than keep a copy in the mailslot.

AbuseWhitelist : string

This is a comma separated wildcard list of sender addresses that do not not need to pass the anti-spam analysis for this mailbox

Pop3Restriction : integer

Change this property to restrict the messages visible via POP3. The options are (0) No restriction (1) Only messages after Pop3RestrictionTimestamp (2) Only messages older than Pop3RestrictionHours (3) Only the last Pop3RestrictionCount messages

Pop3RestrictionHours : integer

The maximum age in hours for a message to appear in the POP3 list

Pop3RestrictionTimestamp : string

The maximum age for a message to appear in the POP3 list (in VDate format)

Pop3RestrictionCount : integer

The maximum number of messages to appear in the POP3 list

Methods

______

IsMailbox ( ): boolean

Returns true if this mailslot is a mailbox.

ParameterTypeDescription

IsMailinglist ( ): boolean

Returns true if this mailslot is a mailing list.

ParameterTypeDescription

IsArchive ( ):

Returns true if this mailslot is an archive.

ParameterTypeDescription

AddProperty ( prop ): none

This method assigns the specified property to this mailslot. The properties are represented by a integers.

ParameterTypeDescription
prop integer The property to assigned to this mailslot

RemoveProperty ( prop ): none

This method removes the specified property from this mailslot. The properties are represented by integers.

ParameterTypeDescription
prop integer The property to be removed from this mailslot

HasProperty ( prop ): boolean

This method returns true if the specified property is assigned to this mailslot.

ParameterTypeDescription
prop integer The property being tested

QueryMessages ( folder , start_at , return_max , query , filter , sortorder , separator ): string

This method executes a query on the e-mail messages in the mailslot. The result of the query is formatted into a string consisting of multiple parts using the given separators.

The query string can contain any text and is returned once for each matching message, concatenated with the given separator string. One or more tokens can be present in the query string and in the return string these are replaced with the appropriate values.

The tokens available are given below :-
__ $id The message filename
__ $uid A unique identifier for the message (derived from the message-id header
__ $serial An integer that (while not always sequential) is unique within the directory. New messages always have a higher serial number than the highest serial the pre-exists within the directory
__ $serialx A hexadecimal fixed-width version of the serial value, necessary for sorting
__ $timestamp A timestamp representing the date and time at which the message was added to the directory. The format is "yyyymmddhhmmss" which can be used for sorting
__ $size The size (in bytes) of the message (including header and attachments)
__ $sizex A hexadecimal fixed-width version of the size value, necessary for sorting
__ $from A descriptive string (not necessarily containing an e-mail address) derived from the From: header
__ $from(name) A full name extracted from the $from token (though it is not possible to guarantee the presence of a name)
__ $from(email) An e-mail address extracted from the $from token (though it is not possible to guarantee the presence of an address)
__ $to A descriptive string (not necessarily containing an e-mail address) drived from the To: header
__ $to(name) A full name extracted from the $to token (though it is not possible to guarantee the presence of a name)
__ $to(email) An e-mail address extracted from the $to token (though it is not possible to guarantee the presence of an address)
__ $subject The message subject line (possibly shortened)
__ $date The message date line (in RFC2822 format)
__ $header(field) Returns the entire named header field (e.g. $header(cc))
__ $headersall Returns all the headers as a single string
__ $flags A string containing a list of flags taken from the list below
__ /DRAFT The message is marked as a draft (an IMAP feature, a better method is to determine if the message is in the Drafts folder)
__ /DELETED The message has been marked for deletion (an IMAP feature, the better test is to determine if the message is in the Deleted Items folder)
__ /ATTACHMENTS The message has one or more attachmetns (in as much as the header MIME constructs includes multipart/mixed descriptor, so the message may simply contain attached inline graphics)
__ /PRIORITY The message header indicates that the message has a raised priority
__ /ANO The message has been identified as spam by the system (the abbreviation stands for Automated No Consent)
__ /UYES The message has been identified as spam by the user
__ /UNO the message has been identified as non-spam by the user
__ $folder The folder id for the message
__ $sender The return-path e-mail address
__ $rcpts The message recipient list (comma separated)
__ $imapstructure The IMAP BODYSTRUCTURE string
__ $mimeoverview A heirarchical mime structural breakdown
__ $htmlbody The HTML message body (if available)
__ $textbody The plain text message body

ParameterTypeDescription
folder integer The folder id in which this query is to be executed
start_at integer The first message (after sorting and filtering) to return
return_max integer The maximum number of messages (after filtering) to return in the result
query string The query string to execute
filter string This string must exist in the message description (to, from or subject) or the message filename. If left blank or null then all candidate messages will match
sortorder string This is a token string (same format as query) which will be used to produce a string for sorting the results. If left as null the default sort order is used (which results in a considerably faster result)
separator string This is a string used to separate results in the output string. By default, it is a CR/LF pair.

QueryMessage ( id , query ): string

This method queries a single identified message with a query similar to that used in QueryMessages.

ParameterTypeDescription
id string The filename (id) of the message to query in this mailslot
query string The query string to execute against this message

QueryTracking ( id ): string

This method takes a sent message id and produces a tracking report

ParameterTypeDescription
id string The message id to track (from header)

GetMailFolders ( ): string

This method returns a comma-separated list of folder names and id numbers (also comma-separated) in the mailslot.

The return string is a series of [id],[name] pairs, e.g. "0,Inbox,1,Drafts,10,Personal".

ParameterTypeDescription

GetMailFolderName ( id ): string

This method returns the name of a specified folder (given the folder id number).

ParameterTypeDescription
id integer The folder id number

QueryFolders ( formatted , filter ): string

This method returns a single string consisting of information about all the folders in the mailslot and the number of matching messages in each folder.

If a filter is given, only messages matching that filter will be included in the message counts, otherwise all messages are used in the message counts.

The output string is a comma-separated list of fields, themselves comma-separated. For each folder, the string is "[indent],[folder-id],[count],[new-count],[size],[name]".

If the formatted option is set, [indent] reprents the depth of the heirarchical tree and [name] contains only the last branch of the folder name. Otherwise, [indent] is always zero and [name] is the full text name (including branch separator slashes).

ParameterTypeDescription
formatted boolean If set, the output is expected to be prepared for a tree display with the [indent] part set and the name stripped of superior branches.
filter string If given, limits the counts to messages that match this filter.

SetMessageFlag ( filenames , flags ): none

This method sets the given message flags for the specified messages.

The filename parameter can consist of multiple filenames separated by commas to improve performance (rather than calling the function multiple times). The flags must be represented by their binary integer values.

ParameterTypeDescription
filenames string A comma-separated list of filenames
flags integer The flags to assign to this message added together

ClearMessageFlag ( filenames , flags ): none

This method clears the given message flags for the specified messages.

The filename parameter can consist of multiple filenames separated by commas to improve performance (rather than calling the function multiple times). The flags must be represented by their binary integer values.

ParameterTypeDescription
filenames string A comma-separated list of filenames
flags integer The flags to remove to this message added together

MoveMessageToFolder ( filenames , folder , destination ): none

This method moves the specified messages to the designated folder.

The filename parameter can consist of multiple filenames separated by commas.

ParameterTypeDescription
filenames string A comma-separated list of message filenames to move
folder integer The folder id in which the named messages are to be moved
destination string The destination mail slot to move the messages to. If blank or null, messages will only be moved to the destination folder within the source mailslot.

CopyMessageToFolder ( filenames , folder , destination ): none

This method copies the specified messages to the designated folder.

The filename parameter can consist of multiple filenames separated by commas.

ParameterTypeDescription
filenames string A comma-separated list of message filenames to copy
folder integer The folder id in which the named messages are to be copied
destination string The destination mail slot to copy the messages to. If blank or null, messages will only be copied to the destination folder within the source mailslot.

DeleteMessage ( filenames ): none

This method erases the named messages.

Normally the delete operation that the user initiates is actually the moving of messages to the Deleted Items folder. This method should be used to actually remove the messages completely from the mailslot.

ParameterTypeDescription
filenames string A comma-separated list of message filenames to delete

GetNextMessage ( filename , folder , filter ): string

This method returns the file name of the adjacent message after the given message in the given folder with given filter.

ParameterTypeDescription
filename string The filename of the base message
folder integer The folder id in which to look for the adjacent message
filter string The filter to apply when searching for the next adjacent message

GetPreviousMessage ( filename , folder , filter ): string

This method returns the file name of the adjacent message before the given message in the given folder with given filter.

ParameterTypeDescription
filename string The filename of the base message
folder integer The folder id in which to look for the adjacent message
filter string The filter to apply when searching for the next adjacent message

EmptyFolder ( folder ): none

This method deletes all messages in the given folder

ParameterTypeDescription
folder integer The folder id from which all messages

DeleteFolder ( folder ): none

This method removes the specified folder from the mailslot folder list. All messages that are in this folder are re-assigned to the Inbox.

ParameterTypeDescription
folder integer The folder id to remove

AddFolder ( name ): none

This method adds a new folder to the mailslot folder list.

The folder name must not include any commas, equal signs, apostrophes or quotation marks. To create a sub-folder, the name should include the parent name and the new name separated by a forward slash (/).

ParameterTypeDescription
name string The name of the new folder to create

RenameFolder ( folderid , newname ): none

This method changes the name of an existing folder

ParameterTypeDescription
folderid integer The folder id of the folder to rename
newname string The new name to assign to the folder

FindMessageId ( messageid ): string

This method seaches the mailslot and returns a filename for a given message-id if it exists, or null otherwise.

ParameterTypeDescription
messageid string The message-id to search for

FindMessageFolder ( filename ): integer

This method seaches the mailslot and returns the folder id for a given filename if it exists, or null otherwise.

ParameterTypeDescription
filename string The filename to search for

CountMessages ( folderid , filter ): integer

This method returns the number of messages in a given folder that match the given filter (if the filter is specified).

ParameterTypeDescription
folderid integer The folder id of the folder to count
filter string The filter to apply when counting matching messages, or null to count all messages

RunFilters ( folderid ): none

This method executes all the filters in the folder filter list on the messages in the given folder.

ParameterTypeDescription
folderid integer The folder id of the folder in which the filters are to be run

SearchContent ( text , casesensitive , logicand , folderid , maxtime , maxcount ): string

This method returns a comma-separated list of filenames that match the given content search filter.

The return string can be used as a filter for other functions as filenames are tested against the filter.

ParameterTypeDescription
text string The messages are searched to determine if the given text string exists within the message
casesensitive boolean If set, the text is matched against message content in a case-sensitive manner
logicand boolean If set, all expressions in the content search text must match to include the message in the return set
folderid integer The folder id in which the search is to take place
maxtime integer The maximum amount of time (in milliseconds) allowed for the search to take place. Some search operations can consume a great amount of CPU time on large folders and limiting the time for a result prevents users from running overly intesive queries.
maxcount integer The maximum number of filenames to return in the result set

AntiSpamScore ( filename ): float

This message returns the spam assessment score for the given message. The anti-spam system must be enabled, but not necessarily automatically assessing messages.

ParameterTypeDescription
filename string Filename of message in mailslot to assess

AntiSpamLearn ( filename , learnspam ): none

This method will assess the given message and add the results to the anti-spam database for this mailslot.

ParameterTypeDescription
filename string The filename of the message in the mailslot to learn, or a comma-separated list of filenames.
learnspam boolean Set to true to learn the message as spam, or false to learn as non-spam. Learning as non-spam also whitelists the message return-path.

AntiSpamUnlearn ( filename ): none

This method will reverse the learning process for the given message.

ParameterTypeDescription
filename string The filename of the message in the mailslot to learn, or a comma-separated list of filenames.

GetSubscriberCount (): integer

This method returns the number of subscribers in a mailing list.

GetSubscriberByIndex ( index ): Subscriber

This method returns a subscriber object given its index (zero based). If no matching subscriber is found, Null is returned.

ParameterTypeDescription
index integer The zero based index of the subscriber to return

GetSubscriberByEmail ( email ): Subscriber

This method returns a subscriber object given its e-mail address property. If no matching subscriber is found, Null is returned.

ParameterTypeDescription
email string The e-mail address property of the requested subscriber

AddSubscriber ( name , email , replyto ): Subscriber

This method adds a new subscriber and sets the e-mail, reply-to and name properties. If the e-mail address (which is the subscriber key) matches an existing subscriber, the Null will be returned. If the subscriber is successfully added, then the subscriber object will be returned.

ParameterTypeDescription
name string The subscriber name. This would normally be their full name, or the descriptive text contained in the From: header field.
email string The subscriber e-mail address. This is the address from which messages to the mailing list must be sent. This property is the subscriber key and must be unique amongst all subscribers to this list.
replyto string This is the reply-to address of the subscriber. When messages are distributed, they are sent to this address. For most subscribers, this will be the same as the e-mail address.

DeleteSubscriberByIndex ( index ): boolean

This method removes an existing subscriber based on its index in the subscriber list. If the subscriber was successfully removed, the method returns true.

ParameterTypeDescription
index integer The index (zero based) of the subscriber to delete

DeleteSubscriberByEmail ( email ): boolean

This method removes an existing subscriber based on its e-mail address. The e-mail address is the subscriber key and must be unique amongst all subscribers. If the deletion is successful, this method will return true.

ParameterTypeDescription
email string The e-mail address of the subscriber to delete

GetArchiveInterface (): Mailslot

This method returns a Mailslot object that can access the mail archive for this mailslot. The returned Mailslot has the same methods as its parent but the mail access routines return data for the archive rather than the mailslot itself. If you call this method on a Mailslot that is already an archive it will simply return itself.

ArchiveMessages ( filenames ):

This method moves messages into the mailslot archive. If the mailslot is an archive then this method will reverse the operation, moving the messages back into the original mailslot.

ParameterTypeDescription
filenames string A comma-separated list of message filenames

MatchAddress ( address ):

Returns true if the given address matches this mailslot. The domain must match a local alias and the mailbox can match the name of this mailslot or one of its aliases.

ParameterTypeDescription
address string A fully qualified address to match against this mailslot


HttpRequest

This object represents a request made by a user's browser for a page from a local web server. The request is similar in structure to a mail message, with a header and optional body (in the case of POST requests). Scripts running on a web site have access to this object through the property. Each request should be matched with a object representing the page being composed and ultimately returned to the browser.

Properties

Header
RequestString
Verb
Host
Uri
Url
UrlUser
UrlPassword
Path
QueryParams
ProtocolVersion
Protocol
User
HostPort
HostName
ClientIp
ClientHost
BytesReceived
CountryCode
CookieUser
Body

Methods

GetServerVariable
GetHeaderItem
RemoveHeaderItem
Query
Form
Fields
SafeFields
Object
HasQuery
HasForm
HasField
HasObject
MoveObjectToSession
MoveObjectToSessionChild
ReadSyncML
WillAccept

Properties

______

Header : string

This method returns a single string containing the entire request header. The header consists of multiple lines separated by a CR/LF pair.

To access individual header items use the method GetHeaderItem.

RequestString : string

This is the initial request string received from the browser. The string is in the HTTP format and looks like this :-

GET /directory/page.asp?param=value HTTP/1.1

The request consists of three parts :-
__ VERB This is the instruction which determines the type of request. In the above example, it is the GET command. This sub-property can be retrieved with the Verb property.
__ URI This is the path (specific to the server) of the object being requested. Unlike a URL the path does not specify the name of the server (as the server has already been selected in order to make this connection). In the above example, the URI is /directory/page.asp?param=value. In this case a parameter has been given. This sub-property can be retrieved with the Uri property.
__ PROTOCOL This is the protocol identifier for the request. In the above example it is HTTP/1.1. This sub-property can be retrieved with ProtocolVersion.

Verb : string

This is the verb part of the HTTP request. It can be GET which is a request for a page that does not carry a body, or POST which carries parameters in the request body. Other verbs are used in the HTTP protocol but are not catered for by the request/response model.

Host : string

This property returns the Host that the request expects to connect to. For regular web page requests this value is taken from the Host: request header.

The proprty is import for multi-homed web servers where the same IP Address is used to host multiple web sites. In such cases the only means to determine which host the request is targeted at is to check this property.

Uri : string

This property returns the URI part of the HTTP Request string. The URI contains the path (relative to the server) of the requested resource, optionally with parameters attached.

Url : string

This property returns the URL for the request. This property is not known for web servers as the host part is removed by the browser prior to connection. This this property is only available to the proxy.

UrlUser : string

This property returns the username if it appears in the request URL. Requests can include usernames and passwords in the form below :-

http://username:password@server.domain.com/path/page.asp

This method is more commonly used in FTP requests but it is an acceptable manner of authentication and the request/response system supports it.

If the username does not exist, the return string is empty.

See also UrlPassword

UrlPassword : string

This property is used in conjunction with to retrieve the password when credentials are included in the URL.

Path : string

This property represents the path to the requested resource as it appears in the URI. Specifically, this is the part of the URI before any parameters (i.e. before the ? symbol).

QueryParams : string

This property returns the query parameters as they appear in the URI. Specifically, this is the optional part of the URL after the ? symbol.

If no parameters are present, an empty string is returned.

ProtocolVersion : string

This is the version part of the request protocol. Typically this value is either HTTP/1.0 or HTTP/1.1.

Protocol : string

This property represents the protocol that the client browser has requested. Typically this is HTTP for normal requests and HTTPS for secured (SSL) requests.

User : User

This property returns the authenticated user object, if both the browser has offered credentials and the server has successfully validated them.

If no valid credentials have been offered, the return object is the Guest user account. This is not a real account (in that it cannot own objects) but it is possible to assign properties and privileges.

Credentials must be offered through the Authorization:.

HostPort : string

This property returns the requested TCP/IP port, typically 80 for HTTP or 443 for HTTPS, unless the request URL specifies otherwise.

This property is only available in the proxy system.

HostName : string

This property returns the requested host name, as it appears in the URL. This property is only available in the proxy system.

ClientIp : string

This property returns the dotted quad representing the client browser IP address. An example response is given below :-

192.168.0.1

ClientHost : string

This property attempts to resolve the client IP address into a fully qualified domain name (or network name if the client is on the local network).

If the IP cannot be resolved, the IP address will be returned instead.

BytesReceived : integer

This property returns the number of bytes received in the request (including body if it is sent).

CountryCode : string

This property is the country code as it appears in the last part of the ClientHost. If the host name is not regional, or if the host domain cannot be resolved, then an empty string is returned.

An example domain is given below :-

dial122-isp.domain.co.uk

In the above example, the country code is uk. This string is not a guarantee of where the client is located, but can be a useful means of providing regional defaults for a user.

CookieUser : User

This property returns a user account if it can be authenticated by means of a specific Cookie string. This cookie is initially set with the SetCookieUser method in the related HttpResponse object.

The cookie AUTHKEY and contains the name of the user and a secure hash that can be used to later authenticate them without requiring them to login again (should the session be lost).

Body : string

The posted data as a single string

Methods

______

GetServerVariable ( variable ): string

This method returns a named variable. It is similar to the function provided by IIS so it can be used to assist the porting of scripts.

ParameterTypeDescription
variable string The named variable to return

GetHeaderItem ( field ): string

This method returns a named header field. Use this method to extract a specific header field from the Header property.

Example

var hostname = Request.GetHeaderItem("Host");

ParameterTypeDescription
field string The header field name to return

RemoveHeaderItem ( field ): none

This method removes a named header field from the request. This is useful to prevent other scripts from accessing the data.

ParameterTypeDescription
field string The name of the header field to remove

Query ( param ): string

This method returns a named parameter provided in the URL string. This is only useful if the Verb is GET. If it is POST the parameters are sent in the message body which is accessed with Form instead.

If you wish to retrieve a named parameter regardless of whether the request was a GET or POST then use instead.

ParameterTypeDescription
param string The name of the parameter to return

Form ( param ): string

This method returns a named parameter provided in the body part of the request. This is only useful if the Verb is POST. If it is GET the parameters are sent in the URL instead which can be accessed with Query instead.

If you wish to retrieve a named parameter regardless of whether the request was a GET or POST then use instead.

ParameterTypeDescription
param string The name of the parameter to return

Fields ( param ): string

This method returns a named parameter from either the URL (in the case of GET requests) or the request body (in the case of POST requests).

This method should only be used to return short strings. Complex large objects should be handled using the Object mechanism instead.

ParameterTypeDescription
param string The name of the parameter to return

SafeFields ( param ): string

This method returns the same data that Fields does but encodes the brackets and ampersands to prevent cross-site scripting bugs.

ParameterTypeDescription
param string The name of the parameter to return

Object ( param ): HttpObject

This method returns a named object from the request.

Objects are similar to parameters but can also contain large binary data blocks. If the request is sent with the POST verb and encoded with multipart/form-data then large objects (such as file uploads) can be sent.

Objects receive such objects and store them efficiently. Such objects can be moved to the session.

See HttpObject for more information.

ParameterTypeDescription
param string The name of the object (parameter name) to return

HasQuery ( param ): boolean

This method returns true if the given parameter exists within the URL.

In this case, Query will return the contents (even if it is an empty string).

ParameterTypeDescription
param string The name of the parameter to test the presence of

HasForm ( param ): boolean

This method returns true if the given parameter exists within the message body (in the case of a POST request).

In this case, Form will return the contents (even if it is an empty string).

ParameterTypeDescription
param string The name of the parameter to test the presence of

HasField ( param ): boolean

This method returns true if the given parameter exists either in the URL or in the message body.

In this case, will return the contents (even if it is an empty string).

ParameterTypeDescription
param string The name of the parameter to test the presence of

HasObject ( param ): boolean

This method determines whether or not a named object has been successfully decoded and stored in the object list.

see HttpObject for more information.

ParameterTypeDescription
param string The name of the parameter to search for

MoveObjectToSession ( name ): none

This method will move an object to the HttpSession object store. Once the object his moved, it will no longer be available in the request object store. However, it will remain in the session until it expires and can be used in later requests.

see HttpObject for more information.

ParameterTypeDescription
name string The name of the parameter to move to the session

MoveObjectToSessionChild ( param , destobj ): none

This method moves an object to the HttpSession object store in a similar manner to MoveObjectToSession. However, it will attach the object as a child of the named session object. The object then becomes dependent on the object parent.

see HttpObject for more information.

ParameterTypeDescription
param string The name of the parameter to move to the session
destobj string The id of the new destination object parent in the session object store

ReadSyncML (): string

This method reads a SyncML request and returns the request in a text string. If the request is WBXML encoded, it is first translated into plain XML.

WillAccept ( type ): boolean

Tests the requests Accept: header against the given MIME type and returns true if the requesting client will accept that type.

ParameterTypeDescription
type The MIME type to accept


HttpResponse

This object represents the server's response to a client's page request (accessed through the property). Data is written to this object and is ultimately returned to the client.

Properties

StatusCode
Status
ElapsedTime
BytesSent

Methods

AddHeader
Redirect
SendSessionObject
SetCookieUser
WriteWbxmlSyncML

Properties

______

StatusCode : integer

This property is the HTTP response code issued to the client.

The default code is 200 representing a normal page, but other codes (such as 304 for redirection) can also be issued.

Status : string

This property is the HTTP response string that follows the response code (see StatusCode) and is normally presented to the user or logged in a transaction log.

ElapsedTime : integer

This property is the number of milliseconds since the request was received.

BytesSent : integer

This property is the number of bytes that have so far been sent to the client.

Methods

______

AddHeader ( field , value ): none

This method adds a new header line to the response header text. The header will be presented in the format Field: value.

This method replaces any existing headers with the same field name. Multiple duplicate header fields are not permitted.

ParameterTypeDescription
field string The field name of the header line being added
value string The field value of the header line being added

Redirect ( url ): none

This method configures the response to send instructions to the client to re-direct the original request to a new URL. The response object is then ended preventing further modifications.

ParameterTypeDescription
url string The URL that the client should be re-directed to. It can be a local path or a fully qualified URL.

SendSessionObject ( objectid ): none

This method will prepare and send the contents of the named HttpObject as the server's response.

Such objects typically include media types and if that is the case then the object's media types will be sent.

It is important to note that the object is sent in response to the request's URL, and therefore it will be assigned part of that URL as the filename. If the intention is to provide a file for the user to download, then the request should be for the correct filename (possibly redirected).

ParameterTypeDescription
objectid string This is the object identifier that will match an object in the current HttpSession object store.

SetCookieUser ( username ): string

This method issues a cookie to the client containing an authentication key that can then later be used to automate a login. The user name to associate with the cookie must be sent and it must match an appropriately configured user account.

ParameterTypeDescription
username string The name of the user to create an authentication cookie for

WriteWbxmlSyncML (, syncml): none

Writes a SyncML response using WBXML compression to the client

ParameterTypeDescription
syncml string The SyncML XML package


HttpSession

Sessions are a well recognised method for maintaining state between separate page requests. When a client begins browsing a site a cookie is issued with a unique session id. Every successive request includes this id and is used to identify and associate the session. All data stored in sesions are kept until the session expires. The expiry timer is reset every time a request is received that refers to the session.

Properties

Objects
SpellCheck
Expiry

Methods

Clear
Get
Set
GetHtml
GetHtmlUtf8
LoadMessage
LoadMailslotMessage
RenderMessageObjectToHtml
RenderMessageObjectToText
RenderMessageObjectToTextReply
RenderMessageObjectToHtmlReply
MoveObjectToChild
LoadObjectFromFile

Properties

______

Objects :

This collection contains all the root objects stored in the session. Use this property to iterate through available objects.

SpellCheck : SpellCheckContext

Every session contains a spell-checking context which is used to check the spelling in session objects. The status of the spell-check operation is maintained along with the session so that on successive requests the spell-check can continue where it previously left off.

See SpellCheckContext

Expiry : integer

This property represents the number of milliseconds since the last action before the session expires.

Methods

______

Clear ( ): none

This method erases all variables and objects, clearing the session state. This includes disassociating the session from the user account.

ParameterTypeDescription

Get ( variable ): variant

This method returns a variant from the session variable list. These variables are persistent between requests and can be used to store information such as the username of the authenticated user.

The return variable type is the same as the type given to the parameter in the Set call with the same variable name.

ParameterTypeDescription
variable string The name of the session variable to retrieve

Set ( variable , value ): none

This method sets a variable in the session variable list. These variables are persistent between requests and can be used to store information such as the username of the authenticated user.

The variable is a variant type which means it can be any type and when retrieved it will maintain it's type.

Use Get to retrieve the variable.

ParameterTypeDescription
variable string The name of the session variable to set
value variant The value to set

GetHtml ( variable ): string

This method returns a string from the session variable list and encodes it as necessary for display in HTML. Other than the encoding, this method is the same as Get.

ParameterTypeDescription
variable string The name of the session variable to retrieve

GetHtmlUtf8 ( variable ): string

This method returns a string from the session variable list and encodes it as necessary for display in an HTML edit element. UTF8 characters, stored as inline MIME, will be output in binary but any HTML codes will be escaped. It is similar to GetHtml.

ParameterTypeDescription
variable string The name of the session variable to retrieve

LoadMessage ( id , path , filename , markread , attachment ): HttpObject

This method loads a message from the specified directory and stores it in the session object list. Until the session expires (or the session object id is re-used) the message data will be available for scripts to access.

The directory name refers to the location in the database where the message is stored. For mailslots, the directory would be :-

mail\inbox\mailslot\

If the message includes a MIME structure then each MIME part will be loaded into a separate sub-object. If the MIME parts have sub-parts they will be loaded into sub-objects.

ParameterTypeDescription
id string The object id that this message will be assigned to. If the id is already in use then it will be replaced with the new message.
path string The database path from which the message is to be loaded
filename string The filename of the message to load
markread boolean (Optional) If this parameter is true then the message will be marked as Read when the message is loaded
attachment boolean (Optional) If this parameter is true then the message will be loaded as a message/rfc822 attachment, without decoding the sub-attachments

LoadMailslotMessage ( id , mailslot , filename , markread , attachment ): HttpObject

This method is similar to LoadMessage except that instead of specifying a mailslot path, you can use just the name instead

If the message includes a MIME structure then each MIME part will be loaded into a separate sub-object. If the MIME parts have sub-parts they will be loaded into sub-objects.

ParameterTypeDescription
id string The object id that this message will be assigned to. If the id is already in use then it will be replaced with the new message.
mailslot string The name of the mailslot that contains the requested message
filename string The filename of the message to load
markread boolean (Optional) If this parameter is true then the message will be marked as Read when the message is loaded
attachment boolean (Optional) If this parameter is true then the message will be loaded as a message/rfc822 attachment, without decoding the sub-attachments

RenderMessageObjectToHtml ( id , emailtemplate , attachmentemplate ): string

This method takes the id of an object that contains an e-mail message (such as one loaded with LoadMailslotMessage) and produces an HTML rendering for presentation.

Optionally URL templates for attachments and e-mail addresses can be given. When the renderer encounters attachments and e-mail addreses it can construct hyperlinks in a controlled manner.

Example

In this example the page compose.asp creates a new e-mail and getatt.asp displays an attachment.

var text = Session.RenderMessageObjectToHtml(uid,
"compose.asp?rcpt=$email", "getatt.asp?uid=$uid");

The compose.asp page takes a parameter named rcpt which is set to the e-mail address extracted by the renderer by replacing the token $email.

The getatt.asp page takes a parameter named uid which is set to the object id of the attachment object extracted by the renderer by replacing the token $uid.

See also

ParameterTypeDescription
id string The object id of the message to render (usually GetPresentation is used to find the right sub-object)
emailtemplate string The template containing the token $email to replace with the e-mail address
attachmentemplate string The template containing the token $uid to replace with the session object id of the attachment

RenderMessageObjectToText ( id , emailtemplate , attachmentemplate ): string

This method takes the id of an object that contains an e-mail message (such as one loaded with LoadMailslotMessage) and produces a plain text rendering for presentation.

See also and .

ParameterTypeDescription
id string The object id of the message to render (usually GetPresentation is used to find the right sub-object)
emailtemplate string The template containing the token $email to replace with the e-mail address
attachmentemplate string The template containing the token $uid to replace with the session object id of the attachment

RenderMessageObjectToTextReply ( id ): string

This method takes the id of an object that contains an e-mail message (such as one loaded with LoadMailslotMessage) and prepares it for replying to.

Text is wrapped and prefixed with a ">" character, unless it already starts with either the ">" or "|" characters.

See also and .

ParameterTypeDescription
id string The object id of the message to render (usually GetPresentation is used to find the right sub-object)

RenderMessageObjectToHtmlReply ( id ): string

This method takes the id of an object that contains an e-mail message (such as one loaded with LoadMailslotMessage) and prepares it for replying to in html mode.

Text is wrapped and prefixed with a ">" character, unless it already starts with either the ">" or "|" characters.

See also and .

ParameterTypeDescription
id string The object id of the message to render (usually GetPresentation is used to find the right sub-object)

MoveObjectToChild ( id , destid ): none

This method removes a session object from the object list and adds it as a child of an existing object. This can be useful for attaching an uploaded file to an existing message.

ParameterTypeDescription
id string The object id of the session object to be moved
destid string The object id of the new destination parent object

LoadObjectFromFile ( filename ): HttpObject

This method creates a new session object and loads the contents from the named local file.

ParameterTypeDescription
filename string The local filename to load


HttpObject

These objects can store large binary objects and maintain their MIME media-type and filenames. The server provides a simple method for uploading files into objects and manipulating messages using objects. Each object can also contain multiple sub-objects. When a MIME structured e-mail is loaded into an object then a heirarchy of objects are created. Objects that receive uploaded files in the can be moved to the current using the method.

Properties

ContentType
Charset
ContentTransferEncoding
Filename
ID
Size
Header

Methods

AsString
AsText
GetMessageList
GetPresentation
GetAttachmentList
GetEmbeddedList
GetHeader
GetHeaderItem
ExpandHeaderMacros
GetObject
Release
ReleaseChild
Replace
AviScan
SaveToFile
SaveToStream

Properties

______

ContentType : string

This property contains the media-type of the object. If the object was received from an uploaded file then the media-type presented by the browser will be maintained.

If the object was loaded from an e-mail message then the media-type will be determined by the message's MIME structure.

See also ContentTransferEncoding

Charset : string

This property contains the character set of the object. Only text objects typically have this set and a blank string may be returned.

ContentTransferEncoding : string

This property indicates what format the object data is stored in.

When objects are created from e-mail messages then this property is determined by the message's MIME structure.

Possible encoding schemes are: 7bit, quoted-printable and base64.

Filename : string

This property contains the filename of the object.

For objects uploaded from browsers, the filename is sent along with the object by the browser. For objects loaded from messages, the filename will either be left blank or be assigned to the attachment filename if the message's MIME structure specifies one.

ID : string

This property is a unique identifier for the session object. At any time the current session can be queried with this id and it will return a matching object even if it is a child object.

Size : integer

This propety contains the size (in bytes) of the object data.

Header : string

This property contains the MIME header (multiple lines separated by CR/LF pairs) if one is defined. Files uploaded to the server carry a simple header indicating the content-type and filename, while objects extracted from messages may have more complex headers (particularly if the object represents an attached e-mail message).

Use GetHeader to retrieve individual header fields.

Methods

______

AsString ( ): string

This method returns a string representing the object data. The string length is limited so it is only useful for simple data types.

For larger objects (such as messages) the AsText method should be used instead.

ParameterTypeDescription

AsText ( ): string

This method returns a string representing the object data. The string length is not limited so it is suitable for returning large objects, but may consume larger amounts of memory than AsString.

ParameterTypeDescription

GetMessageList ( ): string

This method returns a comma-separated list of sub-object ids that represent entire e-mail messages. This is useful when the object is loaded from an e-mail message and it has attached e-mail messages.

ParameterTypeDescription

GetPresentation ( formatlist (Optional) ): HttpObject

This method selects an appropriate sub-object for presenting in the requested media-type. If the object itself is suitable a reference to it is returned instead.

The standard media-types are text/html and text/plain. Most e-mail messages that are written in html include both the html and text alternatives. This method will select the appropriate sub-object.

ParameterTypeDescription
formatlist (Optional) string The requested media-types. If more than one type is acceptable, then the types should be listed in order of preference with spaces separating them.

GetAttachmentList ( ): string

This method returns a comma-separated list of object ids that represent message attachments. To obtain filename and size information each object should be retrieved from the session and queried separately.

ParameterTypeDescription

GetEmbeddedList ( ): string

This method returns a comma-separated list of content-id strings that represent embedded graphics for html messages.

This list can be used to scan the message body for references to the images.

ParameterTypeDescription

GetHeader ( field ): string

This method returns a named header field, or an empty string if no matching header field exists.

See also Header and GetHeaderItem.

ParameterTypeDescription
field string The header field to extract

GetHeaderItem ( field , item ): string

This method extracts a specific item from a header field. If the item name is empty, then the default item is returned.

In the example below, text/html is the default item, and item named boundary is abc.

Content-Type: text/html; boundary="abc"

ParameterTypeDescription
field string The header field to extract
item string The header field item to extract

ExpandHeaderMacros ( template ): string

This method expands named macros assuming that the service object contains an e-mail message.

ParameterTypeDescription
template string The text containing macros to be expanded

GetObject ( id ): HttpObject

This method returns an object given it's object id. The entire object heirarchy is scanned so even if the object is a child of another object it will be found given this reference.

Instead of the object id, the content-id can also be used (these id strings are used to identify embedded graphics in e-mail messages).

ParameterTypeDescription
id string The object id to return

Release ( ): none

This method releases the allocated resources for this object and removes it from the parent object or session.

ParameterTypeDescription

ReleaseChild ( id ): none

This method will release a named child object and remove it from the object list, freeing all allocated resources.

ParameterTypeDescription
id string The object id of the object to be released

Replace ( text ): none

This method replaces the object content with the given string.

ParameterTypeDescription
text string The text to replace the object data with

AviScan (): string

This method scans the object for viruses using the currently installed Anti-Virus engines. If one or more viruses are found, the method returns a non-null string description. Otherwise, null is returned.

ParameterTypeDescription

SaveToFile ( filename ): none

This method saves the content of the object to a file.

ParameterTypeDescription
filename string The full path and name of the destination file

SaveToStream ( stream ): none

This method saves the content of the object to stream object (that implements the IStream interface)

ParameterTypeDescription
stream IStream The destination stream to save to


HttpObjectCollection

This object is a container for objects.

Properties

Count

Methods

GetByIndex
Get
Find
Release

Properties

______

Count : integer

This property returns the number of objects in this collection.

Methods

______

GetByIndex ( index ): HttpObject

This method returns an indexed object

ParameterTypeDescription
index integer The index of the object to return from this collection

Get ( id ): HttpObject

This method returns an object in the collection that matches the given id. Child objects are not considered in this request.

Use Find to search child objects as well.

ParameterTypeDescription
id string The object id to use when selecting an object from the collection

Find ( id ): HttpObject

This method returns an object in the collection that matches the given id. Child objects are also searched recursively when searching for a mtaching object.

Use Get to search only the objects in this collection.

ParameterTypeDescription
id string The object id to use when selecting an object from the collection

Release ( id ): none

This method releases an object based on it's object id. The released object is removed from the collection.

ParameterTypeDescription
id string The object is to remove


DIS

The Directory Information Service provides access to personal and global address books, and the local directory. The address books contain a list of contacts that can contain a wide variety of user controlled properties. The local directory contains a record for each user account with some fixed properties (determined by the user account) and other user controlled properties. Personal Address Books are named after their owning user, while the Global Address Book is named as an empty string. The Local Directory is named ".".

Properties

Methods

Query
QueryCount
Add
Update
Delete
CopyTo
Fetch
Export

Properties

______

Methods

______

Query ( book , query , sorting , template , separator (Optional) , firstchars (Optional) , search (Optional) ): string

This method returns a single string containing all the matching entries from the named book.

A template string is used for each contact entry, and the results are concatenated with the given separator to construct a single structured string.

To retrieve a single contact, use Fetch.

ParameterTypeDescription
book string The address book or local directory to query
query string The query to execute (deprecated, leave null)
sorting string The property to use for sorting the results
template string A string consisting of one or more tokens and non-token characters. The tokens are replaced with properties from the contact being evaluated. Tokens are LDAP properties prefixed with a dollar symbol.
separator (Optional) string A string used to separate the resulting strings. The default is a CR/LF pair.
firstchars (Optional) string If given, only entries with the sorting string starting with the given string will be returned
search (Optional) string A search critera string. If this is a string that does not contain parenthesis, only results with an expanded template that contains this string will be added. If this string has a parenthesis, it is assumed to be an LDAP format filter and is processed accordingly.

QueryCount ( book , query , sorting , firstchars (Optional) ): integer

This method returns a count of the entries that would be returned from a call to Query with similar parameters.

ParameterTypeDescription
book string The address book or local directory to query
query string The query to execute (deprecated, leave null)
sorting string The property to use for sorting the results
firstchars (Optional) string If given, only entries with the sorting string starting with the given string will be returned

Add ( book , data ): string

This method adds a new contact to the named address book. The address book cannot be the Local Directory.

A single LDAP string is used to contain the contact data, using a format similar to the example below :-

cn=John+Smith,o=Smithers+Corp,c=UK

The string is made up of a set of LDAP Properties separated by commas. Each property is an identifier and a value separated by an en equals sign. The value must be encoded in a similar manner to a URL, and the method DisDecode can be used.

The return string is the Contact Identifier which can be used with the Fetch, Update and Delete methods.

ParameterTypeDescription
book string The address book to add the contact to (user name for Personal Address Books or empty string for the Global Address Book)
data string The contact information in LDAP encoding

Update ( book , id , data ): none

This method updates an existing contact entry in a Personal Address Book or the Global Address Book. The format for the contact data is the same as that described in Add.

The contact data is used to update or add the properties specified in the data string. Properties that are not specified are left unchanged. To clear a property, the value for that property must be blank.

ParameterTypeDescription
book string The address book in which to update the contact (user name for Personal Address Books or empty string for the Global Address Book)
id string The contact identifier (such as would be returned by Add
data string The contact information in LDAP encoding

Delete ( book , id ): none

This method deletes a specified contact from the named address book.

ParameterTypeDescription
book string The address book to remove the contact from (user name for Personal Address Books or empty string for the Global Address Book)
id string The contact identifier (such as would be returned by Add

CopyTo ( srcbook , id , dstbook ): none

This method copies an entry from one address book to another.

ParameterTypeDescription
srcbook string The address book to copy the contact from
id string The contact identifier (such as would be returned by Add
dstbook string The address book to copy the contact to

Fetch ( book , id ): string

This method returns the contact information string (see Add for format) for a specific contact in the named address book.

ParameterTypeDescription
book string The address book to return the contact from (user name for Personal Address Books or empty string for the Global Address Book)
id string The contact identifier (such as would be returned by Add

Export ( book ): string

This method returns a CSV export of the entire address book

ParameterTypeDescription
book string The address book to export


Mailgroup

The Mailgroup object represents a group to which objects can belong. The Mailgroup is used to control various accounting settings.

Properties

Name
Name
Description
Parent
AccountingEnabled
SendLimitEnabled
LimitMessages
LimitVolume
LimitMessageSize
MailboxLimitEnabled
MailboxLimit

Methods

GetSendMaxMessages
GetSendLimitVolume
GetSendMessageSize
GetSendMessageSize
Create
Delete

Properties

______

Name : integer

A unique identifier used to refer to this Mailgroup

Name : string

A unique short name used to refer to this Mailgroup

Description : string

A textual description or long name for this Mailgroup

Parent : Mailgroup

This is a point to the Mailgroup that owns (is the parent of) this Mailgroup. If this Mailgroup is the root then this property will be null.

AccountingEnabled : boolean

Determines whether or not accounting functions are enabled for this Mailgroup. If this property is not set then no limits will be applied to the mailboxes in the Mailgroup.

SendLimitEnabled : boolean

Determines whether or not a limit is placed on the volume of outgoing mail that users in this mail group may send each accounting period.

LimitMessages : integer

The maximum number of messages that users in this mail group may send in each accounting period.

LimitVolume : integer

The maximum total size (in bytes) of mail that may be sent by users in this mail group each accounting period

LimitMessageSize : integer

The maximum size (in bytes) of any single message that may be sent by users in this mail group

MailboxLimitEnabled : boolean

Determines whether or not limits are placed on the contents of mail in mailboxes within this mail group.

MailboxLimit : integer

The maximum total size (in bytes) of mail that can be kept in a mailbox within this mail group.

Methods

______

GetSendMaxMessages (): integer

The maximum total number of messages that may be sent by users in this mail group each accounting period. The value returned is similar to LimitMessages but if AccountingEnabled is not set then the owner mail group method is called instead. Thus the value is taken from the first parent with AccountingEnabled set.

ParameterTypeDescription

GetSendLimitVolume (): integer

The maximum total size (in bytes) of mail that may be sent by users in this mail group each accounting period. The value returned is similar to LimitVolume but if AccountingEnabled is not set then the owner mail group method is called instead. Thus the value is taken from the first parent with AccountingEnabled set.

ParameterTypeDescription

GetSendMessageSize (): integer

The maximum message size that may be sent by users within this mail group. The value returned is similar to LimitMessageSize but if AccountingEnabled is not set then the owner mail group method is called instead. Thus the value is taken from the first parent with AccountingEnabled set.

ParameterTypeDescription

GetSendMessageSize (): integer

The maximum total size (in bytes) of mail that can be kept in a mailbox within this mail group. The value returned is similar to MailboxLimit but if AccountingEnabled is not set then the owner mail group method is called instead. Thus the value is taken from the first parent with AccountingEnabled set.

ParameterTypeDescription

Create ( Name , Description ): Mailgroup

This method creates a new child mail group with the given name and description.

ParameterTypeDescription
Name string The short, unique name for the new mail group
Description string A textual description for the new mail group

Delete ( Group ): none

This method erases a mail group.

ParameterTypeDescription
Group Mailgroup The mail group you wish to delete


SpellCheckContext

This object is used to provide spell checking services for users. The system can spell check any text assigned to it. The object instance is also associated with the session so the current state (e.g. the last work checked) is maintained between web requests. The spell checker can operate in a number of languages, although by default the language is taken from the session. The choice of languages is determined by those installed on the server. Dictionaries are stored in the dict sub-directory (below the application file). In addition to shipped language dictionaries, each user can also have a private custom dictionary to which they can add words. The name of the dictionary should match the user's name.

Properties

Text
Language
IgnoreList
CustomDictionary
Word
ActionCount
HtmlMode

Methods

Init
LoadCustomDictionary
SaveCustomDictionary
Run
Undo
Change
ChangeAll
Ignore
IgnoreAll
Add
GetSuggestions
GetLanguages
FormatContext
HasLanguage

Properties

______

Text : string

This is the text to be spell checked. Assigning a new string to this property initializes the spell checking context.

Language : string

This property is used to read or select the base dictionary to use when spell checking. Any language present in the dict directory can be used. The language name is the same as the file name (without the extension).

IgnoreList : Strings

This property contains a list of words to ignore in the current context. Every time the user clicks Ignore All (or an equivilent) the current word should be added to this list to prevent it being queried later in the current context.

CustomDictionary : Strings

This property provides access to the user's custom dictionary. Any word can be added and it will not be queried.

Word : string

This property contains the current word (the word being queried because the system believes it is misspelled).

ActionCount : integer

The number of changes that have taken place since the context was initialized. If the value is greater than zero, then actions can be undone.

HtmlMode : boolean

Set this property to true if the text is formatted with HTML. If this property is set then HTML tags will be skipped when extracting words.

Methods

______

Init ( text , lang ): none

This method is used to initialize the context. The block of text and language are given when this method is called.

ParameterTypeDescription
text string The text to be spell checked
lang string The language to use for the spell checking. This should be one of the installed languages (e.g. en-us).

LoadCustomDictionary ( name ): none

This method loads a named custom dictionary. Typically just the current username should be given.

ParameterTypeDescription
name string The name of the custom dictionary to load.

SaveCustomDictionary ( ): none

This method saves any changes to the current custom dictionary to disk.

ParameterTypeDescription

Run ( ): boolean

This method starts spell checking or continues checking from the current word. If the spell check completes without any further queries, then true is returned.

If false is returned, then a questionable word has been reached. At that point, the Word will contain the current word.

ParameterTypeDescription

Undo ( ): none

This method will reverse the last change made to the text. After this method is called, the Word will be updated with the last questioned word.

ParameterTypeDescription

Change ( word ): none

This method replaces the current word with the given word.

ParameterTypeDescription
word string The word to replace the current word with.

ChangeAll ( ): none

This method replaces the current word with the given word, and automatically replaces any future occurrences of the word.

ParameterTypeDescription

Ignore ( ): none

This method will ignore the current word. When the spell checking continues the next word will be considered.

ParameterTypeDescription

IgnoreAll ( ): none

This method will ignore the current word, and add the word to the context ignore list, ensuring that the same word is not queried again.

ParameterTypeDescription

Add ( ): none

This method replaces the current word with the given word, and adds the word to the custom dictionary. If words are added to this dictionary, then SaveCustomDictionary must be called to save the changes before the context is re-initialized.

ParameterTypeDescription

GetSuggestions ( ): string

This method returns a comma-separated list of suggestions for the current word.

ParameterTypeDescription

GetLanguages ( ): string

This method returns a comma-separated list of language codes and language names that are currently installed. Use a language code from this list when initializing the context with Init.

ParameterTypeDescription

FormatContext ( ): string

This method returns the text surrounding the current word with the current word appropriately highlighted. Formatting is done using HTML and can be presented directly to the user when a word is being queried.

ParameterTypeDescription

HasLanguage ( ): boolean

This method returns true if the given language code is currently installed.

ParameterTypeDescription


CalendarEventRecurring

This object is used to define a recurrence pattern for an object or task in the calendaring system. Each calendar object contains a single instance of this object

Properties

Enabled

Methods

Get
Set
Apply
Clear

Properties

______

Enabled : boolean

This property is set to true if the owning object is set to recurr.

Methods

______

Get ( param ): string

This method returns a named parameter from the recurrence object.

ParameterTypeDescription
param string The name of the recurrence parameter to return

Set ( param , value ): none

This method sets a named parameter in the recurrence object

ParameterTypeDescription
param string The name of the parameter in the recurrence object to set
value string The value of the named parameter to set

Apply ( ): none

This method applies any changes made to the recurrence pattern and updates the owning object's next action time for scheduling. Only call this method when all the necessary changes have been made, and the recurrence pattern is valid.

ParameterTypeDescription

Clear ( ): none

This method clears all the named parameters and sets the pattern to its default state.

ParameterTypeDescription


CalendarEventParticipants

This object is used to access and manage the participants of a calendar object. Participants are users (represented by their e-mail addresses) who are invited to the event.

Properties

Count

Methods

Clear
Add
Remove
RemoveByIndex
GetAddress
GetName
GetStatus
GetDate
GetComment
GetId
SetInfo
IndexOfAddress
IndexOfId

Properties

______

Count : integer

The number of participants in the object

Methods

______

Clear ( ): none

This method removes all participants from the calendar object.

ParameterTypeDescription

Add ( user ): none

This method adds a new participant to the calendar object. The participant is identified by either their e-mail address or, if they are a local user, their local username.

ParameterTypeDescription
user string The e-mail address of the new participant or, if the user is local, the username of the new participant.

Remove ( user ): none

This method removes a named participant from the calendar object. The given name should be the same as the name used when adding the participant.

ParameterTypeDescription
user string The e-mail address of the participant or, if the user is local, the username of the participant.

RemoveByIndex ( index ): none

This method removes a participant based on their position in the participant list.

ParameterTypeDescription
index integer The index of the participant in the participant list

GetAddress ( index ): string

This method returns the e-mail address of a participant based on their position in the participant list.

ParameterTypeDescription
index integer The index of the participant in the participant list

GetName ( index ): string

This method returns the participant's display name based on their position in the participant list.

ParameterTypeDescription
index integer The index of the participant in the participant list

GetStatus ( index ): string

This method returns the participant's status (with respect to the calendar object) based on their position in the participant list.

The status can be one of the following :-

__ 0 No status information
__ 1 Invited (an invitation has been sent, but no response received yet)
__ 2 Accepted (the participant has accepted the invitation)
__ 3 Declined (the participant has declined an invitation)
__ 4 Tentative (the participant has tentatively accepted the invitation)

ParameterTypeDescription
index integer The index of the participant in the participant list

GetDate ( index ): string

This method returns a timestamp representing the date at which the specified participant's status changed. The participant is identified by their position in the participant list.

ParameterTypeDescription
index integer The index of the participant in the participant list

GetComment ( index ): string

This method returns a general comment associated with the specified participant. The participant is identified by their position in the participant list.

ParameterTypeDescription
index integer The index of the participant in the participant list

GetId ( index ): string

This method returns a unique participant identifier based on the participant's position in the list. The identifier is unique to both this participant and the event.

ParameterTypeDescription
index integer The index of the participant in the participant list

SetInfo ( user , name , status , comment , id ): none

This method updates the participant data.

ParameterTypeDescription
user string The username or e-mail address of the participant to be updated
name string The display name of the participant
status string The statis of the participant (see GetStatus)
comment string A general comment associated with the participant
id string A unique identifier for this participant

IndexOfAddress ( address ): integer

Given an e-mail address, this method returns the index of the participant in the participant list

ParameterTypeDescription
address string The address of a participant to look up.

IndexOfId ( id ): integer

Given an identifier string, this method returns the index of the participant in the participant list.

ParameterTypeDescription
id string The unique identifier for the requested participant


CalendarEvent

Properties

UID
CID
Text
StartTime
EndTime
Description
Location
Category
Category
Busy
Private
Group
Status
StatusTime
Priority
Notify
NotifyEmail
RecurringStart
RecurringEnd
Calendar
AllDay
Recurring
Participants
PublishParticipants
Notes
ActionTime
NotifyTime
InviteTime
NotifiedAt
InvitedAt
Invitations
TimeZone
Decorations
Overdue
EventType
AutoresponderFor
AutoresponderText
AutoresponderSetAt
AutoresponderClearedAt
ExternalUID

Methods

OverlapsRange
CheckForCollision
GetText
GetField

Properties

______

UID :

CID :

Text :

StartTime :

EndTime :

Description :

Location :

Category :

Category :

Busy :

Private :

Group :

Status :

StatusTime :

Priority :

Notify :

NotifyEmail :

RecurringStart :

RecurringEnd :

Calendar :

AllDay :

Recurring :

Participants :

PublishParticipants :

Notes :

ActionTime :

NotifyTime :

InviteTime :

NotifiedAt :

InvitedAt :

Invitations :

TimeZone :

Decorations :

Overdue :

EventType :

AutoresponderFor : string

If set, this is the mail slot whose autoresponder will be set to the field when this event is active

AutoresponderText : string

If set, this is the autoresponder text that will be assigned when this event is active

AutoresponderSetAt : string

If set, this is when the autoresponder was automatically set

AutoresponderClearedAt : string

If set, this is when the autoresponder was automatically cleared

ExternalUID : string

The UID for this event as set in a non-local store, such as the original UID for an iCalendar invited meeting

Methods

______

OverlapsRange ( ):

ParameterTypeDescription

CheckForCollision ( ):

ParameterTypeDescription

GetText ( ):

ParameterTypeDescription

GetField ( ):

ParameterTypeDescription


Calendar

Properties

Name
Description
ActionTime
Owne
DisplayCalendars
IcsCalendar
IcsTasks
DisableReminders

Methods

NewEvent
GetEvent
DeleteEvent
ImportVCalendar
GetFreeBusy

Properties

______

Name :

Description :

ActionTime :

Owne :

DisplayCalendars :

IcsCalendar : string

Returns the calendar events in iCalendar format

IcsTasks : string

Returns the calendar tasks in iCalendar format

DisableReminders : boolean

Set this to true to prevent reminder e-mails from being sent for this calendar

Methods

______

NewEvent ( newid ):

ParameterTypeDescription
newid string If not null, this is the requested new filename. If the event exists, it is returned and not duplicated

GetEvent ( ):

ParameterTypeDescription

DeleteEvent ( ):

ParameterTypeDescription

ImportVCalendar ( vCalendar ):

ParameterTypeDescription
vCalendar string The vCalendar text file to import. Processes invitation responses as well as imports events

GetFreeBusy ( Start , End , Url ):

ParameterTypeDescription
Start string The timestamp for the beginning of the free/busy period. Can be blank which will be interpreted as the current time
End string The timestamp for the end of the free/busy period. Can be blank which will be interpreted as the one month from the current time
Url string If non-blank, this URL will be included in the VFREEBUSY object, and should be a valid URL pointing to the page that displays this free/busy data


Timezones

Properties

Count

Methods

GetList
ToUTC
FromUTC

Properties

______

Count :

Methods

______

GetList ( ):

ParameterTypeDescription

ToUTC ( ):

ParameterTypeDescription

FromUTC ( ):

ParameterTypeDescription


Calendaring

Properties

Now
ServerTimeZone
Timezones

Methods

GetCalendar
GetCalendarDescription
CalendarExists
CreateView
WeekDayOf
YearOf
MonthOf
DayOf
HourOf
MinuteOf
SecondOf
Advance
MakeTimeStamp
CheckTimeStamp
CheckTimeRange
MergeTimeStamp
ToLocal
ToUTC
SetDate
SetTime
MinutesBetween

Properties

______

Now :

ServerTimeZone :

Timezones :

Methods

______

GetCalendar ( name ): Calendar

ParameterTypeDescription
name

GetCalendarDescription ( name ): string

ParameterTypeDescription
name

CalendarExists ( name ): boolean

Check to see if the named calendar exists

ParameterTypeDescription
name string Name of the calendar to look for

CreateView ( ):

ParameterTypeDescription

WeekDayOf ( ):

ParameterTypeDescription

YearOf ( ):

ParameterTypeDescription

MonthOf ( ):

ParameterTypeDescription

DayOf ( ):

ParameterTypeDescription

HourOf ( ):

ParameterTypeDescription

MinuteOf ( ):

ParameterTypeDescription

SecondOf ( ):

ParameterTypeDescription

Advance ( ):

ParameterTypeDescription

MakeTimeStamp ( ):

ParameterTypeDescription

CheckTimeStamp ( ):

ParameterTypeDescription

CheckTimeRange ( ):

ParameterTypeDescription

MergeTimeStamp ( ):

ParameterTypeDescription

ToLocal ( ):

ParameterTypeDescription

ToUTC ( ):

ParameterTypeDescription

SetDate ( ):

ParameterTypeDescription

SetTime ( ):

ParameterTypeDescription

MinutesBetween ( ):

ParameterTypeDescription


CalendarView

Properties

Format
Year
Month
Week
Day
Date
DateUTC
LineCount
Width
Height
Highlight
UnitCount
FirstDay
StartWeekOn
MonthDays
MonthWeeks
PreviousMonthDays
NextMonthDays
ViewStartTime
ViewStartTimeLocal
ViewEndTimeLocal
GranularityUnit
GranularitySize
ColumnCount
Next
Previous
Filter
Count
TFClock
User
Sorting

Methods

InitEvents
AddCalendar
CalendarIndexOf
GenerateMatrix
DayIdWithinRange
FindEvent
GetUnitIdByIndex
GetUnitIdByPosition
GetEventCountInUnit
GetEventInUnit
GetEventInUnitColumn
DoesEventStartIn
DoesEventEndIn
EventContinueCount
IdWithinPeriod
WeekDayOf
DayOf
MonthOf
YearOf
HourOf
MinuteOf
IsToday
Now
Compare
IsHighlighted
ToLocal
ToUTC
GetEventByIndex

Properties

______

Format :

Year :

Month :

Week :

Day :

Date :

DateUTC :

LineCount :

Width :

Height :

Highlight :

UnitCount :

FirstDay :

StartWeekOn :

MonthDays :

MonthWeeks :

PreviousMonthDays :

NextMonthDays :

ViewStartTime :

ViewStartTimeLocal :

ViewEndTimeLocal :

GranularityUnit :

GranularitySize :

ColumnCount :

Next :

Previous :

Filter :

Count :

TFClock :

User :

Sorting :

Methods

______

InitEvents ( ):

ParameterTypeDescription

AddCalendar ( ):

ParameterTypeDescription

CalendarIndexOf ( ):

ParameterTypeDescription

GenerateMatrix ( ):

ParameterTypeDescription

DayIdWithinRange ( ):

ParameterTypeDescription

FindEvent ( ):

ParameterTypeDescription

GetUnitIdByIndex ( ):

ParameterTypeDescription

GetUnitIdByPosition ( ):

ParameterTypeDescription

GetEventCountInUnit ( ):

ParameterTypeDescription

GetEventInUnit ( ):

ParameterTypeDescription

GetEventInUnitColumn ( ):

ParameterTypeDescription

DoesEventStartIn ( ):

ParameterTypeDescription

DoesEventEndIn ( ):

ParameterTypeDescription

EventContinueCount ( ):

ParameterTypeDescription

IdWithinPeriod ( ):

ParameterTypeDescription

WeekDayOf ( ):

ParameterTypeDescription

DayOf ( ):

ParameterTypeDescription

MonthOf ( ):

ParameterTypeDescription

YearOf ( ):

ParameterTypeDescription

HourOf ( ):

ParameterTypeDescription

MinuteOf ( ):

ParameterTypeDescription

IsToday ( ):

ParameterTypeDescription

Now ( ):

ParameterTypeDescription

Compare ( ):

ParameterTypeDescription

IsHighlighted ( ):

ParameterTypeDescription

ToLocal ( ):

ParameterTypeDescription

ToUTC ( ):

ParameterTypeDescription

GetEventByIndex ( ):

ParameterTypeDescription


Subscriber

The subscriber is a member of a mailing list object (which is a type of mailslot).

Properties

Name
Email
ReplyTo
Volume
JoinDate
PostDate
Flags
Details
Password
Filter

Methods

Properties

______

Name : string

The descriptive name of the subscriber

Email : string

The e-mail address of the subscriber. This message corresponds to the sending address of messages to be distributed by the list. It must match the Sender:, From: or Return-Path: header fields of incoming messages, and it must be unique amongst all the subscribers in the mailing list.

ReplyTo : string

The destination address for the subscriber. This is the address to which messages distributed to subscribers are sent.

Volume : integer

This is the number of messages sent to the mailing list since the subscriber joined the list.

JoinDate : datetime

This is the time at which the subscriber joined the mailing list.

PostDate : datetime

This is time stamp of the last message posted to the mailing list.

Flags : integer

These flags affect how the subscriber is managed within the mailing list. The flags are a binary combination of several specific options. The available flags are :-
__ 0x0001 (Suspended) Subscriber has been suspended from the list
__ 0x0002 (Recipient) Subscriber wishes to receive regular distributed messages
__ 0x0004 (Sender) Subscriber is permitted to post to this list
__ 0x0008 (Admin) Subscriber is a list administrator
__ 0x0010 (Moderated) Subscriber's messages must be sent to the moderator
__ 0x0020 (Barred) Subscriber has been barred from the list
__ 0x0040 (Digest) Subscriber wishes to receive a digest (multipart/mixed format)
__ 0x0080 (RecBin) Subscriber wishes to receive binary attachments
__ 0x0100 (SndBin) Subscriber is permitted to send binary attachments
__ 0x0200 (DigestMD) Subscriber wishes to receive a digest (multipart/digest format)
__ 0x0400 (DigestText) Subscriber wishes to receive a digest (text/plain format)
__ 0x0800 (Public) Subscriber appears in publicly available membership lists
__ 0x1000 (Conceal) Subscriber's messages must be anonymized when distributed
__ 0x2000 (PlainText) Subscriber does not want attachments of any type (even alternatives)

Details : string

This property contains general details for the subscriber. Typically, this information is taken from the Organization: header of the subscription message. However, it could be used to contain any text data for the subscriber.

Password : string

The password for this subscriber. The password is to allow the subscriber to access and change their subscription properties.

Filter : string

This is a standard message filter applied to every message that might be distributed to the subscriber.

Methods

______


ServiceList

This is a list of the configured services.

Properties

Count

Methods

GetService

Properties

______

Count : integer

The number of services in the list

Methods

______

GetService ( index ): ServiceConfig

Obtain a handle for a specific service configuration

ParameterTypeDescription
index integer A zero-based index of the service to access


ServiceConfig

Use this to configure a service

Properties

ServiceClass
Location

Methods

Invalidate

Properties

______

ServiceClass : integer

This value identifies the type of service

Location : string

This string determines the port or address or other location that the service listens on

Methods

______

Invalidate (): none

Tells the system that changes have been made to the service configuration, instructs the service manager to reload the configuration and schedules a disk-write of the changes.


SmtpServiceConfig

This object is used to configure an SMTP server and inherits from ServiceConfig

Properties

BlacklistIp
BlacklistFrom
BlacklistRcpt
BlacklistHelo
WhitelistIp
WhitelistFrom
WhitelistRcpt
WhitelistHelo

Methods

Properties

______

BlacklistIp : Strings

The IP addresses to Blacklist

BlacklistFrom : Strings

The FROM addresses to Blacklist

BlacklistRcpt : Strings

The RCPT addresses to Blacklist

BlacklistHelo : Strings

The HELO names to Blacklist

WhitelistIp : Strings

The IP addresses to Whitelist

WhitelistFrom : Strings

The FROM addresses to Whitelist

WhitelistRcpt : Strings

The RCPT addresses to Whitelist

WhitelistHelo : Strings

The HELO names to Whitelist

Methods

______


iCalObject

This is an iCalendar object. It can contain other iCalendar objects, but typically the root will be a VCALENDAR and contain VEVENTs or similar

Properties

Methods

Properties

______

Methods

______


iCalField

Each iCalObject contains several iCalFields which represent a single line in the iCalendar transport format.

Properties

Methods

Properties

______

Methods

______