Microsoft 365 Shared Mailboxes
A Shared Mailbox is the mailbox a team works out of together — support@, billing@, info@. Microsoft 365 gives it an address and a folder tree, but no password of its own: people reach it through their personal Microsoft accounts, and Exchange decides who may open it.
A Shared Mailbox is the mailbox a team works out of together — support@, billing@,
info@. Microsoft 365 gives it an address and a folder tree, but no password of its
own: people reach it through their personal Microsoft accounts, and Exchange decides who
may open it.
MailDesk connects a shared mailbox the same way Outlook does — through a member's login — and that single fact explains every requirement on this page.
How it works, in plain terms
When a colleague clicks Connect Microsoft Graph (OAuth), they sign in as themselves. Microsoft hands MailDesk a token that belongs to that person. Two things then have to be true for the shared mailbox to be readable:
- Exchange must allow it. The signing-in person needs Full Access to the shared mailbox — that is Microsoft's own permission, granted in the admin center.
- The token must be allowed to leave its owner's mailbox. A plain
Mail.Readpermission only ever reaches the signed-in person's own mail, no matter what Exchange permits. Reading somebody else's mailbox needs the.Sharedvariant of the permission.
MailDesk also has to ask for the right mailbox. Microsoft's /me endpoint always means
"the mailbox of whoever signed in" — it can never point at a shared mailbox, regardless of
permissions. That is why the account form has an explicit switch: when M365 Shared
Mailbox is enabled, MailDesk addresses the mailbox by its own address instead of /me.
Why the switch is not automatic
Nothing in a Microsoft token says "this address is a shared mailbox". Guessing would mean either breaking normal mailboxes or silently reading the wrong one. Declaring it keeps the behaviour predictable — and lets MailDesk request the extra permission only where it is genuinely needed.
What you need before you start
| Requirement | Where it is set | Notes |
|---|---|---|
| The shared mailbox exists | Microsoft 365 admin center | Free — it needs no licence |
| The connecting person has Full Access | Admin center → shared mailbox → Members, or Exchange admin center → Delegation | Changes can take a few minutes to propagate |
The app registration grants the .Shared permission |
Azure → your MailDesk app → API permissions | See the table below |
| Admin consent, if your organisation requires it | Azure → Grant admin consent | Otherwise each person is prompted individually |
The permission to grant
Grant the Delegated permission that matches your edition. The shared variant is additional — keep the plain one as well:
| Edition | Normal mailbox | Shared mailbox — also grant |
|---|---|---|
| Basic | Mail.Read |
Mail.Read.Shared |
| Pro | Mail.ReadWrite |
Mail.ReadWrite.Shared |
Pro needs the read-write variants because it writes back to the mailbox: marking messages read, moving them, and deleting them all happen on the server. Basic never writes to the mail server, so read permission is enough.
Delegated, not Application
MailDesk always acts on behalf of a signed-in person. Grant Delegated permissions; Application permissions use a much broader access model than MailDesk needs — and they would give the app standing access to every mailbox in the tenant.
Connecting the mailbox
- Create the mailbox account in MailDesk as usual (Settings → MailDesk → Mailbox
Accounts → New), and put the shared mailbox's address in Email Address —
for example
[email protected]. - Choose the Outlook / Microsoft 365 provider and select your Graph application.
- Tick M365 Shared Mailbox.
- Click Connect Microsoft Graph (OAuth).
- In the Microsoft account picker, sign in with your own account — not the shared address, which has no password and cannot sign in.
MailDesk verifies the connection before saving anything: it asks Microsoft for the shared
mailbox and only stores the credentials if the answer comes back. If it does not, the error
names the cause — missing admin consent for the .Shared permission, missing Full Access
in Exchange, or a sign-in with the wrong account.
Sign in as a person, never as the mailbox
The most common failure is trying to authorise with the shared address itself. Shared mailboxes are password-less by design; Microsoft will simply refuse. If the browser silently reuses an existing session, sign out of Microsoft first or use a private window — MailDesk checks which account actually authorised and rejects a token that belongs to someone else's mailbox.
After connecting, the account form shows Connected Microsoft Identity — the person whose login currently carries the connection. It is worth a glance whenever something stops working: if that colleague leaves the company or loses Full Access, the connection stops with them.
Giving your team access inside MailDesk
Exchange decides who may reach the mailbox; MailDesk decides who sees it in the app. On the account form, tick Shared Mailbox and list the colleagues under Users with Access. Only those users see the mailbox in their MailDesk sidebar — Security & access rights explains the model in full.
The two settings answer different questions and are both needed:
- M365 Shared Mailbox — how MailDesk talks to Microsoft (address the mailbox
explicitly, request the
.Sharedpermission). - Shared Mailbox + Users with Access — who in your Odoo sees the mailbox.
Sending from a shared mailbox
Reading and sending travel different roads. Incoming mail arrives over the Graph connection described above; outgoing mail leaves through the account's Outgoing SMTP Server and is independent of it. So a shared mailbox needs both: a working Graph connection to read, and valid Microsoft 365 SMTP credentials to send.
Microsoft also treats the two as separate permissions. Full Access lets a member read the mailbox; sending as the shared address additionally requires Send As (or Send on Behalf), granted in the Exchange admin center under Delegation. Without it, Microsoft accepts the connection and shows the mail — but rejects outgoing messages that claim the shared address as the sender.
Changing the switch on a connected mailbox requires a reconnect
A stored Microsoft sign-in is bound to the permissions it was consented with. If you flip M365 Shared Mailbox on an account that is already connected, MailDesk marks it Reconnect Required on the spot and pauses it — click Connect Microsoft Graph (OAuth) again so the consent matches what the account now needs.
When something does not work
| What you see | What it usually means |
|---|---|
| "requires consent" / permission error on connect | The .Shared permission is missing, or admin consent was never granted |
| Connection succeeds but the mailbox stays empty | Full Access has not propagated yet — wait a few minutes and use Test Connection |
| Your own mail appears instead of the shared mailbox | M365 Shared Mailbox is not ticked, so MailDesk is still asking for /me |
| Sending fails, reading works | Send As is missing in Exchange |
| Everything stopped at once | Check Connected Microsoft Identity — that person may have left or lost access; reconnect with another member |
Outlook setup covers the Azure application itself, and Troubleshooting — setup & sync covers connection problems that are not specific to shared mailboxes.