"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.
Three kinds of archive#
- 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.
- Old mail inside FortiMail mailboxes. Years of mail in the users' own folders. It moves with the IMAP migration in part 2.
- 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#
| Source | Target | Method | Watch out for |
|---|---|---|---|
| Mail in FortiMail mailboxes up to 100 GB | Primary mailbox, then the archive by policy | IMAP migration, then the retention policy or auto-archiving | Enable archives only after the final sync |
| FortiMail mailboxes over 100 GB | Primary, main archive and auxiliary archives | Large Mailbox Onboarding over IMAP | PowerShell only; needs an auto-expanding archive license |
| PST files on PCs | The owner's archive (or primary) mailbox | PST import with network upload | 100 GB per import into an archive; about 24 GB a day per mailbox |
| FortiMail archive accounts | Depends on the legal requirement | Keep read-only, export to an archive service, or split per person and import | Never 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:
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, AutoExpandingArchiveEnabledTurning 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 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>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, SkippedItemCountWhen 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.
- 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.
- 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>" - Create the mapping file, one row per PST file and at most 500 rows per job.
FilePathandNameare case-sensitive,IsArchiveset toTRUEsends the file to the archive, andTargetRootFolderdecides where it lands (empty means a folder named Imported,/merges into the existing folders):TextWorkload,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,,,, - 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
MaxReceiveSizeto 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 $falseor 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#
# 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#
- Learn about importing your organization's PST files (Microsoft Learn)
- Learn about auto-expanding archiving (Microsoft Learn)
- Configuring email archiving accounts (FortiMail 8.0.0 Administration Guide, Fortinet)
- Managing archived email (FortiMail 7.6.5 Administration Guide, Fortinet)

