![]() |
Account Data |
|||||||||||||||||||||||||
|
|
A Dictionary value can be either a string, or an array, or a dictionary, so the format definition is recursive.
If you want to include the quotation mark into a string, include the backslash symbol and the quotation mark, if you want to include the backslash symbol into a quoted string, include 2 backslash symbols.
You can use the \r symbol combination to include the Return symbol into a string, you can use the \n symbol combination to include the Line Feed symbol into a string, and your can use the \e symbol combination to include the system-independent End-Of-Line symbol(s) into a string.
You can use the \t symbol combination to include the Tab symbol into a string.
You can use the \nnn symbol combination include any symbol into a string, if nnn is a 3-digit decimal number equal to the code of the desired symbol.
An array element can be either a string, or an array, or a dictionary.
Any number of spaces, tabulation symbols, and/or line breaks (end-of-line symbols) can be placed between a parentheses and an element, and between an element and a comma sign.
The value element in any key-value pair can be some other array and/or dictionary.
Any number of spaces, tabulation symbols, and/or line breaks (end-of-line symbols) can be placed between a bracket and a pair, around the equal sign, and around the semicolon sign.
Below is the formal syntax for the Dictionary and Array formats:
a-symbol ::= A .. Z | a .. z | 0 .. 9 atom ::= 1*a-symbol s-symbol ::= any printable symbol except " and \ | \\ | \" | \r | \n | \e | \nnn string ::= " 1*s-symbol " | atom array ::= ( [object [, object ...]] ) dictionary ::= { [string = object ; [string = object ; ...]] } object ::= string | array | dictionary |
For single-mailbox accounts, the mailbox type is specified when the account is created.
Each multi-mailbox account has a setting that specifies the default type for all new mailboxes created in this account. A user can explicitly specify the mailbox type creating a mailbox in a multi-mailbox account: if the maibox name is specified as name.extension, then the mailbox name of the extension type is created.
From <return-path>(flags-UID) time stamp
This is the same format as one used in legacy mail systems, but with a "comment" added after the return-path part. The .mbox format remains compatible with legacy applications (local mailers), and at the same time it allows the CommuniGate Pro Server to store the required message information (message status flags and the unique mailbox message ID).
If a mailbox file has been copied from an old system, or when it is used as an External INBOX and old applications can add messages to this mailbox, some messages may have no "comment;" part. CommuniGate Pro allows a user to work with such messages, but it does not store message flags if they were modified, and it does not remember the message UIDs between sessions. The simplest solution is to copy such messages to a different mailbox and then copy them back to the original mailbox - the copy operation places the correct information into the From-line.
When a message is being stored in the .mbox-type mailbox, all message lines are checked. If there is an empty line followed with the line starting with the letters From, the '>' symbol is inserted before the letter F,
The message file name has the following format:
iiii-flags-timestamp
where iiii is the message unique ID, flags are the message status flags, and the timestamp is the message internal time stamp - the time (GMT) when the message was added to the mailbox, in the yyyymmddhhmmss format.
Note:
On the Unix platforms, the .mdir mailboxes implement the shared storage model: if the same message is directed to many accounts/mailboxes, only one message file is created, and a hard link to that file is placed into each mailbox directory. When a message is removed from all mailboxes, the file is automatically deleted by the OS.Several different database types are supported, and the database type is defined by the database file (or directory) name extension.
For all database types, the CommuniGate Pro Server provides required update synchronization mechanisms to let several processing threads retrieve and update database records simultaneously.
The first file line is a special one, it contains tab-delimited strings with the database field names. Below is a sample of a .tbd database with the mail, cn and Limit fields and 3 records. The tabulation signs are marked as t :
|
If you want to add a field to the database, stop the server, and add the new field name to the first file line, separating it with the tabulation sign.
Database fields can contain complex (dictionary-type, array-type) data elements. These elements are stored in the text format diescribed in the previous section.
The .ldp database file has the dictionary format (see above) with the following data:
Key Name | Type | Value |
---|---|---|
Server | string | the name or the IP address of the LDAP server |
Fields | array | database field names, the first name should specify the "key" field |
LoginName | stringthe DN-name to use when logging into the LDAP server | |
LoginPassword | string | the password to use when logging to the LDAP server |
|