Professional Documents
Culture Documents
Disclaimer
The information contained in this document relates to pre-release
Microsoft ® Corporation
software products and services that may be substantially modified before
its first commercial release. Accordingly, the information may not
accurately describe or reflect the software product when first
Microsoft Live@edu
commercially released. THIS GUIDE IS PROVIDED FOR INFORMATIONAL
PURPOSES ONLY, AND MICROSOFT CORP. MAKES NO WARRANTIES,
EXPRESS OR IMPLIED, WITH RESPECT TO THIS GUIDE OR THE
INFORMATION CONTAINED IN IT.
© 2009 Microsoft Corp. All rights reserved
Table of Contents
Introduction.................................................................................................................4
Prerequisites..........................................................................................................................4
Terms and Acronyms Used in This Document...............................................................4
About the MMT............................................................................................................5
Resources..............................................................................................................................6
Feature List............................................................................................................................6
Language Support..................................................................................................................7
Migration Scenarios......................................................................................................7
Sample Scenarios...................................................................................................................7
Scenario 1: School Offers Self-Initiated Migration to Students..............................................................7
Scenario 2: Internal E-mail System, Bulk Migration of All Mailboxes.....................................................8
Architecture Overview................................................................................................10
How to Install and Use the MMT................................................................................13
Installing the MMT...............................................................................................................13
Prerequisites.........................................................................................................................................13
Minimum system requirements...........................................................................................................13
Obtaining the MMT...............................................................................................................................13
Running the MMT................................................................................................................14
Sample Code........................................................................................................................14
Migration Rate.....................................................................................................................15
Authentication Models........................................................................................................16
Specifying Folder Lists..........................................................................................................17
Troubleshooting.........................................................................................................18
Failures and Retries.............................................................................................................18
Extending the MMT....................................................................................................18
Planning for Migration................................................................................................19
Support......................................................................................................................19
Additional Resources..................................................................................................19
Introduction
The Microsoft Live Hotmail Mail Migration Toolkit (MMT) allows you to migrate mail content from
Inboxes that support POP3 or Internet Message Access Protocol (IMAP4) protocols into the Windows Live
Hotmail® email system. The MMT consists of the following:
Documentation (provided herein)
A Help file documenting the Toolkit SDK (including Hotmail interaction)
Source code for the POP3/IMAP4 migration libraries and Windows PowerShell™ cmdlets
Sample code that uses the MMT SDK
o Windows application for end-user migration of a single mailbox
o Web application for end-user migration of a single mailbox
o Sample Windows PowerShell™ scripting code for bulk migration
o Sample Windows PowerShell™ scripting code for contact migration
Note The MMT does not support migrating mail into Outlook Live mail.
Any questions or feedback should be sent to: the Windows Live Commercial Partner Center using this
e-form: https://support.live.com/default.aspx?productkey=wlpc&mkt=en-ww
Prerequisites
This chapter assumes that the reader is an IT professional who understands e-mail protocols, has a basic
understanding of Windows PowerShell™ scripting, and has a basic understanding of Web page design and
Web hosting.
Term Description
Support partners, such as Microsoft Live@edu. File Support Tickets via the Windows Live
Commercial Partner Center using this e-form:
https://support.live.com/default.aspx?productkey=wlpc&mkt=en-ww
MMT Mail Migration Toolkit
Partner Consumer of the toolkit for the purpose of mail migration
POP3 Post Office Protocol 3 - email protocol to allow a local client to access email on a
remote server.
Windows
PowerShell™ Microsoft Windows powerful scripting and command line environment.
WL Mail Windows Live Mail client – powerful desktop client for consolidation of email
accounts.
WLAC Windows Live Admin Center – service used to register a domain and create user
accounts on the Windows Live platform.
WLAC SDK Admin Center Software Development Kit used to script user account creation and
management.
WLID Windows Live ID. A username and password used to authenticate with Windows
Live services. Synonymous with a “Passport ID”.
Your existing e-mail folders, mail content and contact information will not be modified by the MMT, so
using this toolkit will have no effect on your current e-mail accounts. The migrated mail will have the
following properties:
1. Same header information as source
2. Same date and time stamp
3. Same content and attachments
4. Same sender info
5. No anti-virus or spam filtering during migration
Samples are included in the toolkit to demonstrate the migration of a single mailbox and a number of
mailboxes.
Resources
The school will need the following resources to implement mail migration:
IT Staff
Development Staff
Feature List
This version of the Mail Migration Toolkit supports the following:
1. Extraction of mail folders and mail content from POP3 and IMAP4 e-mail source
2. Injection of mail folders and mail content into Windows Live Hotmail®
a. Windows Live Mail does not support sub-folders. IMAP Subfolders will be flatten to the
same level as the parent folder.
3. Migration of mail settings
a. Signature – users signature
b. Options – Miscellaneous settings like SaveSentMail, VacationResponse, MailForwarding
etc
c. Lists – Used for spam control and security. E.g.: white list, block list of addresses, domains
d. Filters – Rules for organizing incoming mail into different folders
NOTE: Migrating mail settings requires custom coding by the school to pull these settings out of
your POP/IMAP4 provider and link them to the Hotmail Injector inputs. The MMT contains
sample code that demonstrates how to do this.
4. Migration of contacts
The MMT:
Language Support
Documentation and support are available in English only.
Migration Scenarios
Two basic migration scenarios are supported by MMT:
1. User-initiated migration, where the end user inputs the name and password for their existing
mailbox, which data and folders they want to move, and the destination mailbox (this could be
pre-determined by the partner for the user). The concept is that the partner will host Web pages
on their intranet to collect this information from the end user, then call the MMT which runs in
their data center.
2. Bulk migration, where the administrator has the credentials of both the source and destination
e-mail accounts. In this scenario, the administrator would import a list of account names
containing source account name and password, as well as Hotmail® account name. After the
platform validates that this is a valid administrator of this domain (via a call to Admin Center API
to verify the LiveID or Certificate) the domain is assigned a short-lived-ticket (SLT) so the
administrator has rights to move content to a Hotmail mailbox in their domain. The admin has
the option to create the Hotmail accounts on the fly during the migration if they do not exist
already.
Sample Scenarios
Two sample scenarios are presented below. These scenarios are simple in design, and require e-mail
downtime and/or mail client reconfiguration. For more complex scenarios, where downtime is not
permitted or e-mail client settings cannot be changed, it is recommended that the partner contract with a
system integrator that is experienced with e-mail migrations.
Contoso provisioning:
Assumptions: School is already enrolled in the Microsoft Live@edu program and has
contosouniversity.com domain MX record changed to Hotmail (see Hotmail Step by Step Onboarding
Guide)
1. Contoso University creates student Hotmail account .
2. School notifies student of new Windows Live@edu email account and password
3. Contoso University creates a Web page where student can migrate their content using the MMT.
Student provisioning:
1. Student signs onto Contoso University portal that migrates their 3 rd party email to Hotmail. The
end user is redirected to Contoso University’s intranet migration page which uses the MMT Web
User Initiated mail migration sample code.
2. Student enters their 3rd party email and Hotmail credentials
3. Email is migrated
Student provisioning:
1. Student signs into the Contoso University portal and is taken to first login experience page where
they are asked to change their password and enter other personal information required by
Hotmail.
2. End user is now routed to Hotmail. They see their old e-mail content and contacts have been
migrated to Hotmail.
3. Subsequent logons, end user clicks on “check e-mail” and goes to Hotmail Web pages.
4. For help or information on changing your MX record, please see the DNS Troubleshooting Guide.
Architecture Overview
Interface
Extractors
Windows
PowerShell
POP Extractor IMAP Extractor Custom Extractor
Web Page
Hotmail Injector
Hotmail API
Contact Manager
Extractors
The extractor is the part of the tool that will retrieve all the mail data from the source e-mail system.
There are several ways in which the tool can communicate with this system. The two out-of-the-box
extracting methods that the tool supports are by communicating through POP3 or IMAP4 protocols. If the
source e-mail system does not support either protocol, or added functionality is required, the partner can
create their own custom extractor.
Microsoft has provided the source code for the extractors to help partners modify or build their own.
When reviewing the source code, you will see that the base class is InternetMailClient.
InternetMailClient class is the parent of Pop3Client and Imap4Client. In order to build
your own extractor, you must also build a class that is a parent of InternetMailClient. Your new
class must query your e-mail platform for the messages.
Migration Manager
This is the central traffic controller that calls the extractor and injector, and manages the connections
between Hotmail and the school’s e-mail platform. The Migration Manager also keep track of all the
synchronization keys and other states. This code is customizable and is part of the samples that
Microsoft provides.
Interface
The tool supports different interfacing methods:
Microsoft provides a Windows PowerShell™ interface sample that can be used for scripting Bulk
Migrations (both e-mail and contacts migration).
Microsoft also provides a sample Web page for entering source and destination information. The
web sample does not use Windows PowerShell and directly interacts with the MMT SDK.
Although it is a simple Web page, it shows how a User Initiated Migration can work. Schools can
build any functionality that they require on top of the samples provided or use them as guidance
to create something new.
Contact Manager
The tool includes sample code to migrate contact information to the Windows Live Contact store. The
sample code defines the available fields that are supported by the contact migration engine. Contact
migration is accomplished by defining the fields to migrate (they must be a subset of the fields
supported) in an xml file, and populating the fields of the xml file with contact information for each user
account. Authentication is the same as mail migration authentication.
</Business>
</Contact>
Hardware Requirements
CPU: 1.5 Ghz, one processor
Memory: 1 GB
Disk: 10 MB
installer package that contains the WLMailMigration.msi. Using WinZip, unzip the file and copy this msi to
your Windows machine and run the installer. You will be asked where you want to install the files; the
default is:
C:\Program Files\Windows Live Mail Migration Toolkit\
Sample Code
The Mail Migration Toolkit contains four sets of sample code, described briefly here. All four samples
contain a Readme.txt file in the root of the subdirectory to describe how to implement the code in your
environment.
Subdirectory = GuiUserInitiatedMigration
This sample was used to create a Windows client application. You can run the compiled version
(Windows.Live.MailMigration.PowerShell.Gui.exe) located in the Bin directory. The sample
application presents the end user with an interface to enter credentials (mail host, username and
password) for the source mailbox and for the Hotmail® inbox. This sample assumes that the end user
has an existing Hotmail inbox and knows their username and password for both mailboxes. If you
want to modify the code, there are instructions in the readme.txt file located in the subdirectory.
This sample is for creating web pages where end users can enter their email credentials for their
POP3/IMAP4 mailbox, as well as their Hotmail mailbox. The sample consists of ASP.NET code that can
be hosted on a web server. There are two web pages, one that collects credentials (mail host,
username and password) for the source mailbox, and one that collects credentials for the Hotmail
inbox. This sample assumes that the end user has an existing Hotmail inbox and knows their
username and password for both mailboxes. Please refer to readme.txt for more details.
If you want to migrate a large number of mailboxes in bulk, this sample will outline the PowerShell
calls needed to drive the migration. The sample demonstrates the migration of mailbox folders and
content, as well as mailbox settings. An xml file is required that contains all of the information
needed for the migration. Please refer to the readme.txt file located in the subdirectory for more
details.
If you want to migrate contact information for your accounts, to populate the contact list across all
Windows Live services, such as Hotmail and Messenger, this sample will provide a template. Each
account requires an xml file containing the list of contacts to migrate. The sample xml file in the
Accounts folder contains the contact fields that are available for migration. You can migrate all of the
fields or a subset. Please refer to the sample ps1 and xml files for more details.
Migration Rate
E-mail migration rate depends on a number of factors:
1. Rate of transfer from source
In internal testing, Microsoft has benchmarked a single instance of the tool migrating up to 10
megabytes/minute. This translates to 14 gigabytes/day. By running multiple instances of the MMT in
parallel, you can scale your migration linearly. Microsoft has run five instances on a single computer with
little degradation of performance.
Example: Contoso University wants to migrate 100 GB of mail content per day. They choose to run 10
instances of the MMT on two machines to achieve this performance. They split the user accounts into 10
batches, and run each batch on an instance of the MMT.
Authentication Models
For POP3, Secure Password Authentication (SPA), Authenticated Post Office Protocol (APOP), and
USER/PASS are supported (in that order of priority).
SPA is a negotiation of many other authentication models. In this case it depends on what is
supported on the client machine and server – and matches what is being used. Typically, this will
be NTLM for Windows platforms (on both ends), but it could be Basic (MD5 Hash), Kerberos, or
something else.
APOP is an MD5 hash that must be enabled on the server that uses a shared secret and a
timestamp.
USER/PASS is just a username and password passed in clear text.
Scenario 1:
Contoso university creates new Hotmail accounts for their users. They use the username/password to log
in to the accounts and migrate e-mail content and contacts.
Scenario 2:
Contoso university wants to allow their users to self migrate their e-mail content. They use the
username/certificate method to authenticate since they do not know the user’s password.
Note This method will not work if the user has not logged in and accrued information (eg, birth year,
secret question). The first method (username/password) must be used if accrual has not completed
Include: [ * or <names> ]
Exclude: [ * or <names> or none ]
Where * is “all” and <names> can be explicit or contain the * for wildcard.
Note Exclude takes precedence over Include, so if “Junk” is listed in both Include and Exclude, it will be
excluded in the migration.
Troubleshooting
Errors are presented to the end user in both of the single-user migration samples. For the bulk migration
scenario, it is up to the partner to determine if all mailboxes and content were migrated by examining the
summary migration report, an xml file created in the \BulkMigration\Accounts\Reports\ folder.
If your e-mail servers do not support IMAP4 or POP3 or you think these protocols are not enough, you
can build your own extractor to get all the information from your database and populate objects within
the data model schema. The MMT tool was designed to abstract the data objects for a mailbox. You can
see in the source code that the base class is the InternetMailClient. That class is the parent of Pop3Client
and Imap4Client. In order to build your own extractor, you would also have to build a class that is a
parent of InternetMailClient. What your new class should do is query your e-mail platform for the
messages.
Microsoft also understands that not all e-mail migrations will be in bulk and driven by the IT staff. This is
why Microsoft supports extending the interface to call the Mail Migration Tool in ways other than
Windows PowerShell™. Included within the sample code there is a User Initiated migration sample. This
consists of an ASPX page that would be hosted on the partner server that asks for all the details of the
account. This can be used as a base to build your own Web pages or other interfaces to communicate to
the MMT.
Support
For problems or issues with the Mail Migration Tool, please follow standard support procedures and
open a ticket via the Windows Live Commercial Partner Center using this e-form:
https://support.live.com/default.aspx?productkey=wlpc&mkt=en-ww
Additional Resources
Windows Live Commercial Partner Center
https://support.live.com/default.aspx?productkey=wlpc&mkt=en-ww