Office 365 Migration Program Components
EdbMails Application is the single component your migration runs through, handling everything from authentication to data transfer in one continuous interface.
Behind the interface, EdbMails Application communicates with Office 365 using Microsoft Graph API and Exchange Web Services (EWS), and with on-premises Exchange servers using EWS. It also uses Windows PowerShell to check server connectivity and required admin roles during setup.
Connecting to source and target environments
Once connected, EdbMails lists every mailbox in the organization automatically, so there's no need to enter individual mailbox credentials one by one. On the source side, this can include primary and shared mailboxes, public folders and their subfolders, and archive mailboxes (In-Place Archive). On the target side, EdbMails authenticates against the destination, whether that's another Office 365 tenant, an on-premises Exchange server (2007 and later), or a hosted Exchange provider, using OAuth 2.0 modern authentication for Office 365 connections.
For Office 365 connections, you'll need a Global Admin account if you're using automatic registration of EdbMails on Entra ID. If you prefer manual registration instead, any mailbox with full access rights will work.
For a Live Exchange or Hosted Exchange target, if you're using a global admin account, you'll need to manually set impersonation rights. You can do this using either:
Mapping, filtering, and monitoring
Source and target mailboxes can be matched automatically, or mapped manually where more control is needed. Filters let you scope a migration down to specific folders, item types, or date ranges rather than moving everything at once. Once a migration is running, the application keeps a persistent connection to both environments, so it needs to stay open until the job finishes or is paused. If it's interrupted by a network drop or a system restart, EdbMails resumes from where it left off instead of starting over. Logs and reports are generated throughout, giving you visibility into what's been migrated and flagging anything that needs attention.
Note: For large migrations involving thousands of mailboxes, running multiple jobs in parallel, each scoped to a specific set of mailboxes or department, is often faster than running everything as a single job. This also makes it easier to isolate and retry any mailbox that runs into an issue without affecting the rest.





