Skip to content

Mailbox Message Report 1.1.0

Choose a tag to compare

@Nico77600 Nico77600 released this 07 Oct 13:25
· 18 commits to main since this release

The preview of the window, like Outlook: the folders of each mailbox and of its archive, the first messages of each folder, and a reading pane. The reports do not change. Read only.

Added

  • Folder view: the tree of each mailbox read — Primary mailbox, Archive and, when read, Recoverable Items under each — with the messages found per folder (a folder without any greyed, a folder not read in red); the messages of the folder selected (sender, subject, date, attachment), newest first; the first folder with messages selected after a search.
  • Reading pane: subject, sender, To, Cc, Bcc, received and sent dates, location and folder, Internet message ID, and the content of the message selected, read then from Microsoft Graph as text (GET /users/{id}/messages/{id}?$select=body), one message at a time, kept for the rest of the session.
  • Preview per folder: the first 10 messages of each folder (Window.PreviewPerFolder), 5,000 in all at most (Window.PreviewMessages, 1,000 before); List shows the same messages in one sortable list.

Permissions

The content of a message needs the application permission Mail.Read. With Mail.ReadBasic.All only, the reading pane says so and shows everything else. Each content read is written to the log (mailbox, location, folder, Internet message ID); Window.ReadBody = $false turns it off. The reports never hold the content, the attachments are never read.

Validated

  • 33 Pester tests on a simulated Exchange Online tenant (the first messages of each folder, the folder tree, the folder view, the reading pane).
  • Lab tenant: 3 mailboxes, 963 messages; 150 messages in the folder view (the first 10 of each folder), the content of a message read as text in the reading pane.

Requirements

PowerShell 7.4+ on Windows 10 / 11 or Windows Server 2016 to 2025, Exchange Online, an application registered in Microsoft Entra with Mail.ReadBasic.All and User.Read.All (application permissions, admin consent) and a certificate; Mail.Read for the content in the reading pane. Not the auxiliary archives of an auto-expanding archive; settings/exchange is a beta endpoint of Graph.

Unblock the files after downloading: Get-ChildItem "C:\Chemin\Du\Dossier" -Recurse -File -Force | Unblock-File.

Guides: docs\MailboxMessageReport-UserGuide.html and docs\MailboxMessageReport-Guide.html in the zip.