The primary files contain one or more sections. Each section contains one of the following types of data:
Directory information Each line of data can create or modify any mailbox, custom recipient, or distribution list in the Microsoft Exchange Server directory. The data is in directory import format. For more information on the Directory Import command, see Chapter 3.
PAB entries and personal distribution lists Each line of data creates a PAB or personal distribution list entry. There is one section for each mailbox. A mailbox must be created before entering this data.
Messages and public folders Each line of data creates a message or an item in a mailbox or public folder. Each section holds entries for one mailbox or for any number of public folders. Sections must be separated by a blank line. Messages can be imported to create a mailbox.
Each line of data has one or more comma-separated values (CSVs). If any of these values has a carriage return or line feed character, put it into a secondary file. (The same parsing rules apply in the secondary file: strings with special characters need to be in quotes.)
Replace the value with a pointer to the secondary file and an offset to where the header of the data begins. For example: #SALESPO2.SEC(43232). The # sign indicates that the data is stored in another file, the SALESPO2.SEC secondary file. The data is located 43232 bytes from the beginning of that file, and this offset counts end-of-line characters such as carriage returns and line feeds.
Note It is important that transfering the secondary files from another platform or system does not introduce new characters. If this happens, the offsets in the primary file could be inaccurate.
Each directory import section of the primary file begins with DIRECTORY. This is followed by a header line. Each line thereafter is one object. For example:
Obj-class,Mode,Common-Name,Display-Name,Last Name,First Name,Secondary-Proxy-Addresses,Home-Server
Important Items in the directory section cannot have pointers to data in the secondary file. All data in the directory section must be in the primary file.
The format of the directory import section in the primary file is slightly different from Directory Import in the Administrator program. In the primary file the mode header field is required and must always be set to create. If the object already exists, an error will be reported. In the Administrator program, the mode header field is optional and can be set to create, modify, or delete. For information on additional attributes, see Appendix D.
You can enter new PAB or personal distribution list data or you can move existing data into the migration file. The following example illustrates the formatting of each PAB data section:
dl,My Friends,X400:/C=US/A= \\
The following table describes the fields in the header line. Only the first three fields (Obj-class, Display-Name, and Email-Address) are required, but the header line must have all the fields in the order shown. Only the first three fields and the Note heading are valid for personal distribution lists.
|Obj-class (Required)||Describes the type of entry. For a single recipient, entry. For personal distribution lists, dl.|
|Display-Name (Required)||Friendly name.|
|Email-Address (Required)||E-mail address or addresses. For personal distribution lists, use a semi-colon to separate addresses. (If the source system doesn't support this information, put in the invalid data: USER: Display-Name)|
|State||State or province.|
|Zip||Zip or postal code.|
|Title||Position in the company.|
|Department||Department name or number.|
|Bus-Num||Primary business telephone number.|
|Bus2-Num||Secondary business telephone number.|
|Assist-Num||Telephone number of the recipient's assistant.|
|Home-Num||Primary home telephone number.|
|Home2-Num||Secondary home telephone number.|
|Mobile-Num||Cellular telephone number.|
|Note||Description or note for this entry or distribution list.|
The migration files can include messages, attachments, documents, and public data. Public folder data is imported as a special kind of message. The header line of each section starts with MAILMESSAGE and is followed by the source e-mail address or PublicMessages.
Messages The following example illustrates the format of each message section:
Inbox,Pat Parkes,Elizabeth Brown,,,"Let's make plans for this
Phoenix Project,Pat Parkes,Ali Gobi,,,Review of Back Office\\
Filed Mail\FYI,Jon Grande,Gamers[SMTP:gamers@Litware.com],\\
Public Folders The following example illustrates the public folder format:
Social\Gamers,Pat Parkes,Games Groups,,,"Plans for this
Business\Phoenix Project,Karl Buhl,Phoenix Project,,,\\
Public folder data is migrated from shared folders, bulletin board systems, and databases. If formatting will be lost or if the data would be unreadable in Microsoft Exchange Server, convert the information to text.
The following table describes the fields in the header line for messages and public folders. All fields are required and must be in this order.
|Folder||Path to destination folder. Use backslash to indicate subfolders.||Default = Inbox. Inbox, Deleted Items, Outbox, and Sent Items get mapped to special folder ID numbers. Displayed name of folders depends on language of client.|
|Sender||Display name of sender.||Display name or display name [e-mail address].|
|To||Display name of To recipients, separated by semicolons.||Display name or display name [e-mail address].|
|Cc||Display name of Cc recipients, separated by semicolons.||Display name or display name [e-mail address].|
|Bcc||Display name of Bcc recipients, separated by semicolons.||Display name or display name [e-mail address].|
|Subject||Subject of message.||Single line of text.|
|Send-Date||Date message sent.||Date and time.|
|Received-Date||Date message received.||Date and time.|
|Priority||Priority of message. Default = 0.||Low priority = -1. Normal priority = 0. High priority = 1.|
|Unread||Boolean value to indicate read status of message.||TRUE if message was not read. FALSE if message was read. (Default = FALSE.)|
|Unsent||Boolean value to indicate sent status of message.||TRUE if message was not sent. FALSE if message was sent. (Default = FALSE.)|
|Body||One pointer to body of message. You must use the secondary file for message bodies and attachments. Attachments are referenced from bodies of secondary file.||#filename(offset)|
For systems that support only sent dates or only received dates, the source extractor should set the received date and sent date to appropriate date values. For systems that support neither sent nor received dates, the source extractor can leave the fields blank or substitute the current date and time.