- Overview
- Checklist / Inventory
- Create Users on the Target Microsoft 365 Tenant
- Migration User Accounts
- Providing permissions for source and destination accounts
- Create Bittitan Migration Project
- Purchase Bittitan MigrationWiz Licenses
- Migration Strategy
- Migrate Email Items (Phase – I)
- Migrate Email Items (Phase – II)
- Remove the domain from GoDaddy
- Add your organization custom domain on new Microsoft 365 tenant (destination)
- Update Primary Email Address / UPN of all users to your Organization’s custom domain
- Update MX and SPF record
- Reset Passwords of all users
- Test Inbound / Outbound Email Flow
- Enable Multi-Factor Authentication using Conditional Access Policy
- Post Migration Checklist
Overview
In this blog post, we will see how to migrate all mailboxes from GoDaddy to Microsoft 365. GoDaddy provides Domain Registration and DNS services but in addition to that you can also get Email services that creates user mailboxes. You can choose from the available Email Plans like Email essentials or Email Plus or Business Premium. These plans differ in the email storage / one drive storage / ability to download and install microsoft office on different PC’s.
About this Blog Post |
---|
Most of the steps in this blog post will be applicable even if you are migrating emails from any other email service provider for example gmail, microsoft exchange server etc. This blog post shows the steps when migrating emails / user mailboxes from GoDaddy to Microsoft 365. However, the same steps are required when performing an email migration from an email provider other than GoDaddy. For Example, when performing an email migration from:Gmail to Office 365 / Microsoft 365 email migration. Exchange Server 2010 to Office 365 / Microsoft 365 email migration. Exchange Server 2013 to Office 365 / Microsoft 365 email migration. migrationwiz office 365 to office 365 migration. OR Any other Email Service Provider to Office 365 / Microsoft 365 email migration. |
If you are using GoDaddy for Email Services, It leverages Microsoft 365 platform to create mailboxes and provides GoDaddy Interface to manage the basic user mailbox settings like changing password, providing admin rights, delete mailbox etc.
You can also launch Microsoft 365 Exchange Online Admin center as well via GoDaddy which can provide additional configuration settings. For a small organization, its fine to use GoDaddy for email service but as the organization grows and you hire more staff, its best to create your own Microsoft 365 tenant and use Exchange Online services directly rather than going via GoDaddy. If you have decided to migrate from GoDaddy to Microsoft 365 then let’s see all the steps involved to complete the migraiton.
Also Read: How to decommission Exchange Server 2010 after Office 365 Migration
Tip |
---|
Its important to Inform all the users in advance to not make any changes in the folder structure of their mailbox during the migration process / Email passes. Because Migrationwiz copies all emails along with folder structure to the destination and if for example any email is moved from one folder to another folder, migrationwiz will not sync that change to the destination. Migrationwiz is not an email / folder sync tool. Its just for copying emails from source to destination along with mailbox migrated Items. For more information, please check the link: https://help.bittitan.com/hc/en-us/articles/115015201588-Migration-Strategies-Types-Best-Practices. |
Checklist / Inventory
- Domain Registrar and DNS provider details are required along with administrator credentials to manage the domain / DNS zone. This is required for creating / updating the DNS Records.
Connect to the source tenant (godaddy) using powershell and run below commands to export the data:
- List of user’s mailboxes along with size of each mailbox. You can use below powershell command to display the information.
get-mailbox | Get-MailboxStatistics | ft DisplayName, ItemCount, TotalItemSize
- Check the permission on each mailbox for example Full Mailbox Permissions, Send on behalf and SendAs.
Export Full Mailbox Permissions
Get-Mailbox -RecipientType 'UserMailbox' -ResultSize Unlimited | Get-MailboxPermission | Export-Csv -NoTypeInformation C:\temp\usermailboxpermission.csv
Export Send on behalf Permissions
Get-Mailbox -Filter {GrantSendOnBehalfTo -ne $Null} | select DisplayName, PrimarySMTPAddress, GrantSendonbehalfto | ft -AutoSize -Wrap
Export SendAs Permissions
Get-RecipientPermission -Identity * -AccessRights SendAs | Where {$_.Trustee -ne 'NT Authority\Self' -and $_.Trustee -ne 'NULL SID'}
- Check the permissions on each user mailbox’s Calender.
ForEach ($Mailbox in (Get-Mailbox -ResultSize Unlimited)) { Get-MailboxFolderPermission -Identity "$($Mailbox.Name):\Calendar" | Select @{n='Mailbox';e={$Mailbox.Name}},User,AccessRights}
- Export the list of user’s Primary SMTP addresses and their aliases from GoDaddy.
- Location of each user (this is required while creating new users on Microsoft 365 admin center).
Create Users on the Target Microsoft 365 Tenant
You first need to create a final list of users which will be migrated to Microsoft 365. Once you have the list with you, proceed with below steps:
- Login to Microsoft 365 tenant as Global Administrator.
- Create all the users which will have <tenantname>.onmicrosoft.com email address.
- Assign Licenses to all the users including Global Administrator. (Once the license is assinged, a mailbox is created for that user automatically. Make sure to assign the license with at least Exchange Online Plan1, For my organization email migration project I will be using Microsoft 365 E5 license for all the users).
Note |
---|
You will not be able to add your custom domain in your new Microsoft 365 tenant because as explained earlier GoDaddy is also using Microsoft 365 to provide email services, so your custom domain is already registered in GoDaddy Microsoft 365 tenant. When you try to add the Custom domain in your new Microsoft 365 tenant, you will get error as shown in below screenshot. Therefore, you need to use <tenantname>.onmicrosoft.com as target email address for users when creating users at the destination. Once the migration is complete, we will delete all user’s mailboxes from GoDaddy and remove our registered domain from GoDaddy M365 tenant (source). Once that step is done, you will be able to add your custom domain in your new M365 tenant (destination) and update user’s primary email address to the custom domain. <domainname> was already added to a different Microsoft365 organization, which is managed by GoDaddy. To add this domain to this account you will need to Contact GoDaddy support and have it removed. ![]() |
Migration User Accounts
For email migration purpose only, create one user account at Source (GoDaddy) and one at the destination (your new Microsoft365 tenant). Something like svc-bittitan@<yourdomainname.com> in GoDaddy and admin@<yourdomainname>.onmicrosoft.com at the destination side.
Make sure these account have an associated mailbox at both source and destination. For creating a mailbox, you can purchase the cheapest GoDaddy email plan at the source and For destination side, you can assign Exchange Online Plan 1 which is also cheapest and will create a mailbox for admin@<yourdomainname>.onmicrosoft.com.
We will use these accounts while setting up Bittitan project. These accounts needs to have specific permissions at the source and destination. Details on which permissions needs to be assigned to these accounts is provided in the next section.
Providing permissions for source and destination accounts
Before we setup Bittitan Mailbox Migration Project, We will need to note down the source and destination user accounts credentials. These user accounts will be used to connect to the source tenant (godaddy) and destination tenant (Microsoft 365).
When we will create Bittitan Migrationwiz project, we will provide source and destination user account information. These accounts must have necessary permissions for email migration. In the next sections, we will configure permissions for these accounts at GoDaddy (source) and Microsoft 365 (destination) side.
Administrator rights
Provide Admin rights to svc-bittitan@<yourdomainname>.com in GoDaddy (source) using GoDaddy User Interface or you can also use https://portal.azure.com and use an existing GoDaddy admin account to provide Global Administrator rights to svc-bittitan@<yourdomainname>.com user.

Provide Global Administrator rights to admin@<yourdomainname>.onmicrosoft.com on Microsoft 365 tenant (destination).
- Login on Microsoft Azure Portal (https://portal.azure.com).
- Search for Users and then admin@<yourdomainname>.onmicrosoft.com user.
- Click on Assigned roles on the left hand side.
- Make sure Global Administrator role is assigned to this account (You can click on Add assignments to assign Global Administrator role).

Application Impersonation
As we created svc-bittitan@<yourdomainname.com> user account in GoDaddy (source) and admin@<yourdomainname>.onmicrosoft.com user account in the new Microsoft 365 tenant (destination). User account svc-bittitan@<yourdomainname.com> needs to provided Application Impersonation role in GoDaddy Microsoft Exchange Admin Center (source) and the admin@<yourdomainname>.onmicrosoft.com needs to be provided Application Impersonation Permissions in the Microsoft 365 tenant (destination). Let’s see how to assign this role using Powershell and also using Microsoft 365 Exchange Admin Center. You can use whichever way you prefer (GUI or Powershell)
Using Powershell
Connect to GoDaddy Microsoft 365 tenant using Exchange Online Powershell Module V2. If you do not have the module installed on your PC, you can use the command Import-Module ExchangeOnlineManagement
and then run below commands.
On Source tenant (GoDaddy):
Connect-ExchangeOnline -UserPrincipalName svc-bittitan@<yourdomainname>.com
Enable-OrganizationCustomization
New-ManagementRoleAssignment -Role "ApplicationImpersonation" -User svc-bittitan@<yourdomainname>.onmicrosoft.com
On Destination tenant (Microsoft 365):
Connect-ExchangeOnline -UserPrincipalName admin@<yourdomainname>.onmicrosoft.com
Enable-OrganizationCustomization
New-ManagementRoleAssignment -Role "ApplicationImpersonation" -User admin@<yourdomainname>.onmicrosoft.com
Using Microsoft 365 Exchange Admin Center
If you do not want to use Powershell or you are facing any issues when running above powershell commands to provide the permissios then you can also use GUI method to provide Application Impersonation role to these user accounts at their respective tenants by following below steps:
On Source tenant (GoDaddy) and destination tenant (Microsoft 365). You can login to their Exchange admin center using administrator credentials, create AppImpersonation role and add svc-bittitan@<yourdomainname>.com and admin@<yourdomainname>.onmicrosoft.com as the role member in their respective tenants.
Provide svc-bittian@<yourdomainname>.com applicationimpersonation permission in GoDaddy (source).
Provide admin@<yourdomainname>.onmicrosoft.com applicationimpersonation permission in Microsoft365 Tenant (destination).
- Login to Exchange admin center (https://admin.exchange.microsoft.com/) using admin credentials.
- On the Left hand side click on Roles -> Admin roles.
- Click on Add role group.

Click Next:

- Click on Next and on Admins Page to Assign Admins. Add the user account in the Members.
- Review and Finish to save and create this custom role.
Mailbox Permission
Once you have provided Administrator rights to both of these accounts and also provided Application Impersonation permissions. Next, provide permission to access user mailboxes at the source and destination. You can provide read only access to all user mailboxes at the source to svc-bittitan account and at the destination side to admin@<yourdomainname>.onmicrosoft.com user account.

Tip |
---|
If there are any issues in verifying the credentials, then you can provide full mailbox permissions to each user mailbox to these accounts. svc-bittitan@<yourdomainname>.com should have full mailbox permission on each user mailbox in GoDaddy (Source). admin@<yourdomainname>.onmicrosoft.com should have full mailbox permission on each user mailbox at the destination tenant. This is to make sure that Bittitan can access source and destination tenants and all user mailboxes to copy the data across. Once you have completed the migration, you can remove / revoke all the rights provided to these accounts for this migration purpose. |
Create Bittitan Migration Project
Using the information detailed in previous sections, we have provided below permissions to Source and Destination migration user accounts svc-bittitan@<yourdomainname>.com and admin@<yourdomainname>.onmicrosoft.com.
In their respective Microsoft 365 tenants:
- Global Administrator role.
- Application Impersonation Permission.
- Mailbox Permissions.
Now, we can create a Bittitan MigrationWiz Mailbox Project and use these accounts to migrate the emails, contacts, calendar, tasks, notes etc. from GoDaddy to Microsoft 365. Let’s see the steps below:
Steps
Login on Bittitan Migrationwiz portal (https://migrationwiz.bittitan.com/) and click on Create Project to create a new Project for Mailbox Migration.

Select Project Type as Mailbox Project.

Enter Project Name and click on New to create a new customer.

Provider the domain name of the client. For example, techpress.net and provide company name and proceed.

On the next page, provide Source Settings. Click on New to open a form and provide the information regarding the source.

A form will open up which you can use to provide details about the Source. Provide the following details:
Endpoint Name: Provide the name as <yourclientname>-GoDaddy to identify the source.
Endpoint Type: Microsoft 365
Administrator Username: Provide the migration user account we created and we have also provide permissions required to migrate the emails to this account. Provide svc-bittitan@<yourdomainname>.com.
Administrator Password: Provide the password of svc-bittitan@<yourdomainname>.com.
Click on Add to Create a New Source Endpoint.


Next, We will add Destination Settings. Click on New to open a form and provide details about the destination.

Provide the following details:
Endpoint Name: Provide the name as <yourclientname>-Microsot365 to identify the source.
Endpoint Type: Microsoft 365
Administrator Username: Provide the migration user account we created and we have also provide permissions required to migrate the emails to this account. Provide admin@<yourdomainname>.onmicrosoft.com.
Administrator Password: Provide the password of admin@<yourdomainname>.onmicrosoft.com
(please ignore the mistake in screenshot which shows admin@<domainname>.com. You need to use your .onmicrosoft.com email address here).
Click on Add to Create a New Destination Endpoint.

After you click on Add, you will be able to see the details of Endpoint. You can edit the endpoint if you want by clicking on Edit endpoint or click on Next Step to proceed.

Click on Save and Go to Summary. This will create your project and save all the details you added in previous steps.

After you have created a project. You will need to add the users for email migration. There are various methods which can be used to add the users. Suggestion is to use Autodiscover Items method which will autodiscover the users and import it for you. click on Add drop down -> Click on Autodiscover Items.

Click on Start Autodiscover. This will connect with GoDaddy (source) and fetch the details about users. Once the discovery is complete you will see that on the portal on how many items are discovered. Click on Import Items to populate the users on the bittitan migratiowiz project console.

Users are imported and showing in your Project.

Make sure to change the target email address to onmicrosoft.com by clicking on a pencil button on the user account row. By default when you autodiscover items it will populate the same domain name in the destination as in the source email address. In our case, all users in the destination are using .onmicrosoft.com email address so we need to change the Destination email address on Bittitan Migration Project console as shown in below screenshot.

Select a user or two and click on Verify Credentials. This is to make sure bittitan is able to connect to Source and destination mailboxes using the user account details provided.

Tip |
---|
To verify passwords of the user accounts which were created in previous steps for email migration purpose which are (svc-bittitan@<yourdomainname>.com and admin@<yourdomainname>.onmicrosoft.com), Login to https://admin.microsoft.com or https://portal.azure.com or https://portal.office.com to check if you are able to login successfully. If not, you can reset the password, verify if its correct, update bittitan migrationwiz project to replace the user credentials and Verify Credentials again. |

Purchase Bittitan MigrationWiz Licenses
Before we start the the process of email migration, we neeed to purchase liceneses from bittian.
Login on Bittitan using https://migrationwiz.bittitan.com/ URL.
Click on Purchase Link on the top right hand corner.

As my requirement is just to migrate the user mailboxes / emails, I will go ahead and select Mailbox License type. You can go through the available options and select the one best for you. If you go with User Migration Bundle License type then you also have the option to migrate User’s Archive mailbox from source to destination.
Along with that you also get the option to migrate the documents from OneDrive, Google Drive or Dropbox. Also the User Migration Bundle license provides you the ability to migrate the mailboxes which are more than 50GB in size.
However, if you go with Mailbox License type, 50GB restriction per user maibox applies. If the data is more than 50GB and you still go with Mailbox License type then multiple Mailbox Licenses will be consumed if available which will turn out to be more expensive than User Migration Bundle license.

Change the number in the Quantity box to the number of licenses required. You will require one license per user. If the mailbox size is more than 50GB then purchase an additional license for that user.
For example, if the source mailbox size of a User XYZ is around 75GB in size then you will require two Mailbox Licenses to copy all email items from source to destination via Bittitan Migrationwiz. You can also go for User Migration Bundle License for this user which will be cheaper than 2 Mailbox Licenses.
Once you have entered the number of licenses required in the Quantity box. Select Buy Now button and go through the Payment Process to complete your Purchase.
Once you have completed the purchase, the licenses will get added to your Bittitan Workgroup. We will see how to apply the licenses and start the migration. In the next section, we will see Migration Strategy and configuring Advanced Options of Bittitan Migrationwiz project.

Migration Strategy
BitTitan MigrationWiz support three primary migration strategies: Big Bang, Pre-stage, and Quick-switch. I will be using Pre-Stage Email Migration which basically means I will be dividing the email migration into different phases / passes. Migration will be completed in multiple passes to copy all the email Items from source to destination.
What is Pre-Stage Migration ?
Migrate older items, in preparation of a later final switch to your new system. Older items are migrated because they do not change, but typically represent the majority of the data. Use this type of migration before MX record cutover. Fill the mailbox with older email; this reduces the amount of data to migrate after cutover.
Advanced Options
Login on Bittitan MigrationWiz and open your Project. Click on Edit Project and then Click on Advanced Options. These advanced options or settings will be used during the email migration. Therefore you need to adjust some of the settings to make sure you get successful results. These settings depends upon the source and destination and needs adjusting as per the source and destination enviornment.
Performance Tab
- Adjust the Maximum number of concurrent migrations. Default value is 100. But as per my experience, I have seen issues and Failed connections to Source and Destination when there are mutiple migrations running at the same time. I usually limit the number to 5 concurrent migrations which has less chance of failure. My current project contains only 14 users, therefore I even reduced the value to 2 and all the older emails were still copied in a day. The Largest mailbox which I migrated was ~19 GB which took around 11 hours for Pre-Stage Migration, which was around 90% of email Items.


Notifications Tab
Enter the Email Address in Additional recipients to get the notifications of Successful / Failed Migrations.

Filtering Tab
Select Only migrate items older than the specified date and select the date. As you can see in below screenshot, Nov 30, 2021 23:45 is selected. This means. All email Items before this date and time will be copied to destination. This is also called as Pre-Stage Migration. You can select the date 1 month before the current date to migrate so that most of the old emails are copied to the destination.

Source/Destination
Make sure Mailbox is selected in the Source and Destination. This will copy the items from Source Mailbox to Destination Mailbox. If you are migrating from an Archive Mailbox then you could select Archive Mailbox in the Destination. Check the Destination Mailbox Language and check / select “Use Impersonation to Authentication” Option.

Maintenance Tab
Check / Select Log subject of failed items. If there are any email items which fails to copy to the destination mailbox, then MigrationWiz will log the subject of the email. You can manually search for the email in the source mailbox using the subject to find if the email item is important. If you find that email item is important, you can either manually download the email, save it and provide a copy to the user or you can forward the email to the user from source.

Migrate Email Items (Phase – I)
As we have now configured advanced options in our email migration project, Next step is to select a user or two and start with the migration process. If the migration of emails for these pilot users is successful, we will be confident that it will complete successfully for other users as well. This is a best practice before selecting users in bulk to start the migration.
Open the Email Migration Project and Click on Start -> Full Migration.
As you can see that there is another option for Pre-Stage Migration, We do not need to select that option as we have already specified the dates in the Filter section which automatically marks this migration as Pre-Stage Migration.

After you click on Full Migration. Start Full Migration page will open up. You can see a Warning on the top of the page which says “Due to the date filter applied in the Advanced Options, this migration will be marked as Pre-Stage migration“. We have used Filter tab in the Advanced options of the Bittitan Project to specify the dates before the emails will be migrated, therefore its a pre-stage migration.
We have selected 2 Items and we currently do not have any MigrationWiz-Mailbox Licenses Available. So if you have purchased the licenses, you will see the number of licenses available.
Select what to Migrate
Make sure to Uncheck all the Email Items except Mail. We will migrate all other Email Items on the day of Cutover. Click on Start Migration to Start the Migration Process.
Only mails will be migrated first, All other email items like Calendar, Contacts, Rules, Notes etc. will be copied on the Cutover day. I have seen many issues when Calendar, Contacts etc are migrated during the pre-stage migration. So I always stick with this rule to migrate just the emails first and all other email items on the Cutover day.

The migration will start and will show Completed (Pre-Stage) status once its completed successfully. In the Error Column it will display the number of errors. Click on the Error Number to see the error message if any. Migrated Column shows the size of the data copied to the destination. Source Email shows the Source email address. You can click on it to find more information about the migration for that user.

Click on any User in the Source Email Column to get more details like the number of folders and emails copied and also if there are any errors. As you can see in the below screenshot, Inbox Items copied were 8397. you can similarly scroll up or down to find the number of emails and folders copied to the destination.

Scroll Down the page and check the Migration History Section. This section will provide information about how much time it took to complete the Pre-Stage Migration and Which Email Items are migrated. The Email Icon shows that only Mails were migrated / copied. Also, you can see the Success message which shows the migration was completed successfully. You can explore more information on this page like Duration and Speed, Time Spent, Transfer Speed etc. to get more details about the migration which will help in planning the rest of the migration.

Below screenshot shows Transfer Speed of the migration. You can click on different tabs like Items Migrated, Data Migrated to find more information about the email migration.

Migrate Email Items (Phase – II)
In the Phase – I of the migration we have migrated bulk of the old mails over to the new Microsoft 365 tenant. Now, if you are performing cutover over the weekend you can plan to run another pass to migrate the emails closer to the cutover date or if you have calculated that there are not many emails left to migrate since the first pass, you can run the final pass to migrate the emails, calendar items, tasks, notes, contacts etc and change the MX record to point it to the new Microsoft 365 tenant.
Phase-II steps
- Run the second migrationwiz pass to copy the mails closer to the cutover date or run a final pass and then update the MX records.
- If you are running the final pass, make sure to include all the email items e.g. Mail, Calendar, Notes, Tasks etc.
- Make sure Outbound email connector is in place on Exchange admin center.
- Test Inbound and Outbound email flow – Send few emails to Internal domain and few emails to External Domains for example gmail both inbound and outbound.
Remove the domain from GoDaddy
You would not be able to add your custom domain in your new Microsoft 365 tenant (destination) because it already registered in GoDaddy (source). Therefore, we need to remove the custom domain first from GoDaddy and then add it to the new Microsoft 365 tenant.
At the GoDaddy (Source) tenant:
You will not be able to remove the domain from GoDaddy if the domain is already in use and assigned to the users. Remove all dependencies of your custom domain first.
- Login on Microsoft 365 admin center and Select all users.
- Click on change domains from the list of options available and select the Orgxxxx.onmicrosoft.com domain.

Select your organizations xxxxx.onmicrosoft.com domain from the drop down and click on Save changes.

Click on Settings -> Domains -> click on the domain you want to remove and select Remove domain.
(If there are still any dependencies on this custom domain, you will get an error message displayed on the screen. Make sure to go through user’s email aliases and exchange online admin center to remove any references to your custom organization domain and return to Microsoft 365 admin center to remove domain)

You can also use below powershell commands to change the domain of all users to organization’s tenant domain xxxx.onmicrosoft.com domain. Connect to GoDaddy tenant (source) using powershell and run below commands:
Import-module MSonline
Connect-MsolService
Get-MsolUser -DomainName "techpress.net" | Select UserPrincipalname
Set-MsolUserPrincipalName -UserPrincipalName "username@techpress.net" -NewUserPrincipalName "username@XXXXXX.onmicrosoft.com"
Once all users UPN address is set to username@xxxx.onmicrosoft.com. Run below command to change the domain to Managed.
Set-MsolDomainAuthentication -DomainName "Federatedomainname.com" -Authentication Managed
Remove Domain from GoDaddy Microsoft 365 tenant.
Remove-MsolDomain -DomainName "techpress.net" -Force
Add your organization custom domain on new Microsoft 365 tenant (destination)
- Login on Microsoft 365 admin center.
- Click on Settings -> Domains -> + Add domain.
- Enter your organization custom domain name and connect your domain to Microsoft 365.
- You can use any of the below method to verify your domain.

Update Primary Email Address / UPN of all users to your Organization’s custom domain
Select all users and change the Primary SMTP Address / User Principal Name of all users to your custom domain name. You can select the users and click on Change domains and then select your custom domain from the list.

You can also use below powershell commands to change the primary SMTP of the users form tenant domain @xxxx.onmicrosoft.com to organization custom domain. For example. change users email address from AdeleV@mylab000.onmicrosoft.com to AdeleV@techpress.net.
Import-module msonline
Connect-MsolService
Get-MsolDomain
Set-MsolUserPrincipalName -UserPrincipalName "user@xxxxx.onmicrosoft.com" -NewUserPrincipalName "user@customdomainname.com"
Update MX and SPF record
Update MX and SPF records where your domain’s DNS zone is hosted. You can get the MX and SPF records from Microsoft 365 admin center -> Settings -> Domain -> select your domain and then click on DNS tab to find MX and SPF records.
Login on your Domain Registrar / DNS Host Provider and update the MX Record and SPF records.
Reset Passwords of all users
Reset password of all the users and set it to change the password at first sign in. For resetting users password, you can select the users at once, click on Reset Password and provide a password which you want to share with all the users. Make sure to select “Require these users to change their password when they first sign in“.

Test Inbound / Outbound Email Flow
Request one or two users to send few test emails to Internal Email address and External Email Address both ways to confirm if the mail-flow is fine.
Enable Multi-Factor Authentication using Conditional Access Policy
Make sure to enable two factor authentication by creating an Azure AD Conditional Access Policy for all cloud apps and all users.
- Login on Azure Portal https://portal.azure.com.
- Find Azure AD conditional Access from the search box.
- Create a New Policy by clicking on +New policy link at the top.
- Use below settings to create MFA Policy for all users.
Name of the Policy: Require MFA for all users All cloud Apps Any Location
Users or workload identities: Include All Users
Cloud apps or actions: All cloud apps
Conditions: Locations: Any Location and Client apps: Select Browser and Mobile apps and desktop clients.
Grant: Select Grant access and enable checkbox Require multi-factor authentication.
Enable this policy and click on Save.
Post Migration Checklist
After migration is complete and conditional access policy is set, there are few steps you need to take on end user device. I have listed all the steps below for your reference:
Download and Install latest version of Microsoft 365 Office
Uninstall existing Microsoft Office currently installed on the system.
Download the latest version of Microsoft 365 Office by logging on to https://portal.office.com and clicking on Install Office drop down and select Install Software.

Reset / Reconfigure Outlook Mail Profile
For resetting Microsoft Outlook Mail Profile, I have created another blog post which will guide you through the steps for resetting Outlook Mail Profile. Please follow below link for the same.
How To Reset / Reconfigure Microsoft Outlook Mail Profile For Microsoft 365 / Exchange Online.