Exchange OnlineHow-to

FortiMail to Exchange Online, part 5: archives, archive mailboxes and PST import

Decide what happens to FortiMail email archives and old mail: archive mailbox sizes and licenses, IMAP straight into archives for huge mailboxes, PST import limits, and what Microsoft doesn't allow.

"Archive" means three different things in a FortiMail project, and each needs a different answer. This last part of the series sorts them out: what FortiMail's email archiving really holds, how Exchange Online archive mailboxes work and what they're licensed for, how to copy very large mailboxes straight into archives, how to import PST files at scale, and what replaces FortiMail archiving once you've moved.

How this guide is organized: Three kinds of archive → How Exchange Online archives work → Step-by-step → Verify → Tips and gotchasFlow diagram of the article's sections in reading order: 1. Three kinds of archive. 2. How Exchange Online archives work. 3. Step-by-step (6 steps: Decide where each kind goes; Prepare the archive mailboxes; Copy very large mailboxes straight into the archive; Import PST files into archive mailboxes; Decide what happens to FortiMail's archive accounts; Replace FortiMail archiving going forward). 4. Verify. 5. Tips and gotchas. Toolbox: Set-Mailbox, Archive › Archive Account, Microsoft 365 › Import, MainArchive, AuxArchive1.1Three kinds ofarchive2How ExchangeOnline archive…3Step-by-step4Verify5Tips andgotchas1Decide whereeach kind goes2Prepare thearchive mailb…3Copy verylarge mailbox…4Import PSTfiles into arch…5Decide whathappens to F…6ReplaceFortiMail arch…TOOLBOXSet-MailboxArchive › Archive AccountMicrosoft 365 › ImportMainArchiveAuxArchive1How this guide is organized: Three kinds of archive → How Exchange Online archives work → Step-by-step → Verify → Tips and gotchasFlow diagram of the article's sections in reading order: 1. Three kinds of archive. 2. How Exchange Online archives work. 3. Step-by-step (6 steps: Decide where each kind goes; Prepare the archive mailboxes; Copy very large mailboxes straight into the archive; Import PST files into archive mailboxes; Decide what happens to FortiMail's archive accounts; Replace FortiMail archiving going forward). 4. Verify. 5. Tips and gotchas. Toolbox: Set-Mailbox, Archive › Archive Account, Microsoft 365 › Import, MainArchive, AuxArchive1.1Three kinds of archive2How Exchange Online archives work3Step-by-step1Decide where each kind goes2Prepare the archive mailboxes3Copy very large mailboxes straight into thearchive4Import PST files into archive mailboxes5Decide what happens to FortiMail's archiveaccounts6Replace FortiMail archiving going forward4Verify5Tips and gotchasTOOLBOXSet-MailboxArchive › Archive AccountMicrosoft 365 › ImportMainArchiveAuxArchive1
At a glance: how this guide is organized · 6 steps · 5 key settings and tools

Three kinds of archive#

Where each kind of FortiMail archive goesWhich archive is it? if Mailbox folders: Is the mailbox over 100 GB? if No: IMAP migration, then archive policy (Enable the archive after the final sync); if Yes: Large Mailbox Onboarding (IMAP into the primary and archive mailboxes by date); if PSTs on PCs: PST import into the archive (100 GB per import; about 24 GB a day per mailbox); if FortiMail archive: Keep, export or split per person (Never one Exchange Online mailbox for everyone's mail)Which archive is it?Is the mailbox over 100 GB?FIXIMAP migration, thenarchive policyEnable the archive after thefinal syncNoFIXLarge MailboxOnboardingIMAP into the primary andarchive mailboxes by dateYesMailbox foldersFIXPST import into thearchive100 GB per import; about 24GB a day per mailboxPSTs on PCsNOTEKeep, export or splitper personNever one Exchange Onlinemailbox for everyone's mailFortiMail archiveWhere each kind of FortiMail archive goesWhich archive is it? if Mailbox folders: Is the mailbox over 100 GB? if No: IMAP migration, then archive policy (Enable the archive after the final sync); if Yes: Large Mailbox Onboarding (IMAP into the primary and archive mailboxes by date); if PSTs on PCs: PST import into the archive (100 GB per import; about 24 GB a day per mailbox); if FortiMail archive: Keep, export or split per person (Never one Exchange Online mailbox for everyone's mail)Which archive is it?Mailbox foldersIs the mailbox over 100 GB?NoFIXIMAP migration, then archive policyEnable the archive after the final syncYesFIXLarge Mailbox OnboardingIMAP into the primary and archive mailboxes bydatePSTs on PCsFIXPST import into the archive100 GB per import; about 24 GB a day per mailboxFortiMail archiveNOTEKeep, export or split per personNever one Exchange Online mailbox for everyone'smail
Figure 1 · Decision tree Where each kind of FortiMail archive goes. Mail in mailboxes moves with IMAP, PST files go through the Import service, and FortiMail's own archive accounts need a legal decision rather than a default.
  1. FortiMail email archiving. Copies of messages kept by archive policies in separate archive accounts, not in the users' mailboxes. Fortinet's documentation describes what matters for a migration: archives sit on the local disk, a NAS or a remote FTP or SFTP server; each account has a retention period of up to 3,650 days; archive folders rotate by size or age; administrators browse and search them under Monitor › Archive › Archive Account; and locally stored archives can be read over IMAP with the archive account if IMAP access is enabled for it. Individual archived messages can't be deleted, and only formatting the mail data disk removes them all.
  2. Old mail inside FortiMail mailboxes. Years of mail in the users' own folders. It moves with the IMAP migration in part 2.
  3. Personal archives outside FortiMail. PST files on PCs, typical for POP3 users and for Outlook's own archiving.

How Exchange Online archives work#

  • An archive mailbox (also called In-Place Archiving) is a second mailbox attached to a user or shared mailbox. Content search, Microsoft 365 retention and litigation hold treat the two as one mailbox.
  • Its size depends on the license: 50 GB with Exchange Online Plan 1, Office 365 E1 and Microsoft 365 Business Basic or Standard; 100 GB, which can grow with auto-expanding archiving up to 1.5 TB, with Exchange Online Plan 2, Microsoft 365 Business Premium, E3 and E5, or Plan 1 with Exchange Online Archiving. Microsoft began raising that cap to 3 TB for E5-class licenses in October 2026.
  • An auto-expanding archive grows by no more than 1 GB a day, and each extra block of storage can take up to 30 days to arrive.
  • The default retention policy moves items older than two years to the archive, and auto-archiving moves the oldest items when a primary mailbox passes 96% of its quota (the threshold is configurable).
  • Two rules decide the FortiMail archive question. An archive mailbox holds mail for a single user or entity: using archive mailboxes to store mail from multiple users is prohibited, and journaling, transport rules or auto-forwarding to copy mail into an archive aren't permitted. And an Exchange Online mailbox can't be a journaling mailbox.

Step 1: Decide where each kind goes#

SourceTargetMethodWatch out for
Mail in FortiMail mailboxes up to 100 GBPrimary mailbox, then the archive by policyIMAP migration, then the retention policy or auto-archivingEnable archives only after the final sync
FortiMail mailboxes over 100 GBPrimary, main archive and auxiliary archivesLarge Mailbox Onboarding over IMAPPowerShell only; needs an auto-expanding archive license
PST files on PCsThe owner's archive (or primary) mailboxPST import with network upload100 GB per import into an archive; about 24 GB a day per mailbox
FortiMail archive accountsDepends on the legal requirementKeep read-only, export to an archive service, or split per person and importNever one Exchange Online mailbox for everyone's mail

Step 2: Prepare the archive mailboxes#

Enable archives after the final IMAP sync, not before (part 2 explains why), and only for users whose license includes the size you need:

PowerShell
Connect-ExchangeOnline
Enable-Mailbox -Identity amal.hassan@contoso.com -Archive
Enable-Mailbox -Identity amal.hassan@contoso.com -AutoExpandingArchive   # Plan 2, E3/E5, Business Premium or Plan 1 + EOA

Get-EXOMailbox -Identity amal.hassan@contoso.com -Properties ArchiveStatus, AutoExpandingArchiveEnabled |
    Format-List ArchiveStatus, AutoExpandingArchiveEnabled

Turning auto-expanding archiving on for the whole organization is a one-way switch. My guide to auto-expanding archiving in Exchange Online covers both ways and how to confirm that extra storage was provisioned.

Step 3: Copy very large mailboxes straight into the archive#

A FortiMail mailbox over 100 GB can't land in a primary mailbox. Microsoft's Large Mailbox Onboarding (LMO) handles it: an IMAP migration that writes into the primary and the archive mailboxes at the same time, following an XML file that maps date ranges or folders to targets (Primary, MainArchive, AuxArchive1 to AuxArchive3, or the GUID of an existing mailbox). It runs in PowerShell only.

  • Run the mailbox analysis from part 1 first: it can generate the XML mapping for you, splitting the mail by month so each target stays within its quota.
  • Use continuous date ranges, or items fall between them unnoticed, and don't change the ranges once the migration has started, or you get duplicates.
  • Deleted items can only go to the primary or the main archive; a single source folder over 100 GB must be split before it can be moved.
  • Disable retention processing on the mailbox first, and use one user per batch so you can monitor and troubleshoot each one.
XML
<?xml version="1.0" encoding="utf-8" ?>
<Users>
  <User EmailAddress="karim.osman@contoso.com">
    <Folder Name="/*">
      <Mapping ContentFilter="Received -gt '2024/1/1'" Target="Primary" />
      <Mapping ContentFilter="Received -gt '2021/1/1' -and Received -le '2024/1/1'" Target="MainArchive" />
      <Mapping ContentFilter="Received -le '2021/1/1'" Target="AuxArchive1" />
    </Folder>
  </User>
</Users>
PowerShell
Set-Mailbox -Identity karim.osman@contoso.com -ELCProcessingDisabled:$true

New-MigrationBatch -Name "LMO-karim.osman" -SourceEndpoint "FortiMail-IMAP" `
    -CSVData ([System.IO.File]::ReadAllBytes("C:\Migration\lmo-karim.csv")) `
    -XMLData ([System.IO.File]::ReadAllBytes("C:\Migration\lmo-karim.xml")) `
    -TargetDeliveryDomain "contoso.onmicrosoft.com" -AutoStart

# One migration user per target: karim.osman@contoso.com/Primary, .../AuxArchive0 and so on
Get-MigrationUser -BatchId "LMO-karim.osman" | Format-Table Identity, Status, SyncedItemCount, SkippedItemCount

When the batch is finished, switch retention processing back on with Set-Mailbox -Identity karim.osman@contoso.com -ELCProcessingDisabled:$false.

Step 4: Import PST files into archive mailboxes#

PST import covers the POP3 users' local files and any archive data you export per person in Step 5. You need the Mailbox Import Export and Mail Recipients roles in Exchange Online; a dedicated role group is the tidy way to grant them. Network upload is free; drive shipping has a cost and is limited to Enterprise Agreement customers.

  1. In the Microsoft Purview portal go to Data lifecycle management › Microsoft 365 › Import, select New import job (the name uses lowercase letters, numbers, hyphens and underscores only), choose Upload your data, copy the network upload SAS URL and download the AzCopy version offered there. Protect that URL like a password.
  2. Upload the PST files from a file share. Keep each file under 20 GB and give each one a unique name:
    Command Prompt
    azcopy.exe copy "\\FILESERVER01\PST\Wave1" "<SAS URL>"
  3. Create the mapping file, one row per PST file and at most 500 rows per job. FilePath and Name are case-sensitive, IsArchive set to TRUE sends the file to the archive, and TargetRootFolder decides where it lands (empty means a folder named Imported, / merges into the existing folders):
    Text
    Workload,FilePath,Name,Mailbox,IsArchive,TargetRootFolder,ContentCodePage,SPFileContainer,SPManifestContainer,SPSiteUrl
    Exchange,Wave1,amal.hassan-2019.pst,amal.hassan@contoso.com,TRUE,/FortiMail PST,,,,
    Exchange,Wave1,karim.osman-local.pst,karim.osman@contoso.com,TRUE,/FortiMail PST,,,,
  4. Submit and validate the mapping file, let the service analyze the data, filter it by age or type if you want, then start the import.

Plan around the service's limits:

  • Speed. Microsoft quotes about 24 GB a day per mailbox, without a guarantee. Different mailboxes import in parallel; several PST files for the same mailbox import one after another.
  • 100 GB per archive import. An import into an archive only fills the main archive, not auto-expanded storage, so more than 100 GB for one person has to be split across several imports, with time for the archive to expand in between.
  • Large items. Items over 150 MB are skipped. If a PST contains items over 35 MB, the service raises the mailbox's MaxReceiveSize to 150 MB.
  • Re-runs. Importing the same PST file again into the same target folder skips items already imported, so keep the folder name stable if you have to repeat a job.
  • The 30-day clock. Uploaded PST files are deleted 30 days after the most recent import job was created when no job is in progress, so create the job soon after the upload.
  • Retention hold. After an import the service turns retention hold on for the mailbox indefinitely, so old imported mail isn't moved or deleted straight away. Decide when it ends, with Set-Mailbox -RetentionHoldEnabled $false or a date in -EndDateForRetentionHold.

Step 5: Decide what happens to FortiMail's archive accounts#

Start by finding out what the archive accounts hold: which policies feed them (everyone's mail, or a few people's), how long they keep it, how big they are and where they're stored. Then choose with legal, in writing:

  • Keep them read-only on FortiMail until the retention period ends. Often the simplest answer: keep the unit patched, powered and restricted to a few administrators, and wipe it at the end.
  • Export them over IMAP (enable IMAP access on the archive account) with a tool that writes standard formats, and hand the data to your legal or compliance archive. Test a sample first, to confirm that headers and dates survive the export.
  • Split them per person and import each person's mail into that person's archive mailbox. This needs tooling that assigns every message to the right people, since one message can belong to several of them.

Watch out: you could point an IMAP batch at a FortiMail archive account, but the result would be many people's mail in one Exchange Online mailbox, which is exactly what Microsoft prohibits for archive mailboxes. Keep company-wide archive data per person, or outside Exchange Online.

Step 6: Replace FortiMail archiving going forward#

Microsoft recommends Microsoft 365 retention to keep and manage data in place rather than journaling it elsewhere. A Microsoft Purview retention policy for Exchange mailboxes keeps mail for as long as you need it, also makes leavers' mailboxes inactive when their accounts are deleted (part 3), and litigation hold covers individual legal cases. If a regulator or contract demands a copy outside Microsoft 365, use journal rules to an external archiving service: the journaling mailbox, and the alternate journaling mailbox, can't be Exchange Online mailboxes. My guide to retention policies, retention labels, MRM and litigation hold shows the setup.

Verify#

PowerShell
# Archive size and item count
Get-EXOMailboxStatistics -Identity amal.hassan@contoso.com -Archive | Format-List DisplayName, ItemCount, TotalItemSize

# Primary, main archive and any auxiliary archives
Get-MailboxLocation -User karim.osman@contoso.com | Format-Table MailboxLocationType, MailboxGuid

# Retention hold after PST imports
Get-Mailbox -Identity amal.hassan@contoso.com | Format-List RetentionHoldEnabled, EndDateForRetentionHold
  • Every PST file in the import job shows as completed in the Purview portal, and any skipped items are explained.
  • LMO migration users all reach Synced, and item counts per date range match the analysis.
  • The archive decision for the FortiMail archive accounts is written down, with an owner and an end date.

Tips and gotchas#

  • Timing. Enabling archives before the final IMAP sync lets retention move items mid-migration, which shows up as "missing" items.
  • Patience with big archives. 1 GB a day of growth and up to 30 days per expansion mean that a 300 GB archive is a project of weeks, not a weekend.
  • Leavers with big archives. Microsoft notes that an inactive mailbox with an auto-expanding archive can't be recovered or restored; its content can only be exported with eDiscovery tools.
  • Disposal. FortiMail's archives disappear only when the mail data disk is formatted. Don't change the unit's operation mode or wipe it until the archive decision is carried out.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

M365 Subject Matter Expert, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)