1. Home
  2. Troubleshooting
  3. Troubleshooting: Shared Mailbox Email Sending Fails with 403 Access Denied

Troubleshooting: Shared Mailbox Email Sending Fails with 403 Access Denied

Symptom

When sending email via WinMan using a shared mailbox as the “From” address, the request fails with:

403 Forbidden
Error: Access is denied. Check credentials and try again.

This typically happens even though:

  • The integration has previously worked for regular (licensed) user mailboxes
  • Send As (or Send on Behalf) permissions have been correctly granted on the shared mailbox
  • The email account appears valid and the correct user is authenticated

Most Common Cause: Missing License on the Shared Mailbox

Shared mailboxes in Microsoft 365 do not require a license for basic use through Outlook or Outlook on the Web (OWA) — Microsoft provides free storage for shared mailboxes up to a certain size. However, programmatic access via Microsoft Graph (or EWS) enforces stricter licensing requirements than the Outlook client does.

Result: an unlicensed shared mailbox can send/receive fine through Outlook, but will fail with a 403 error when accessed via the Graph API — even with correct Send As permissions in place.

This is a documented Microsoft behavior, not a bug in your integration.

How to Confirm This Is the Cause

Ask your Exchange/Microsoft 365 admin to test the following:

  1. Test in Outlook/OWA: Log in as the user who has Send As rights, and manually send an email with “From” set to the shared mailbox address.
    • Succeeds in Outlook, fails via Graph API → strongly indicates a licensing issue (this document)
    • Fails in Outlook too → this is a permissions issue, not licensing — see “Other Causes” below

Fix: Assign a License to the Shared Mailbox

What license is needed

  • Exchange Online Plan 1 or Plan 2 is sufficient
  • A full Microsoft 365 Business or E-series license is not required just for this purpose
  1. Sign in to admin.microsoft.com as a Global or License admin
  2. Navigate to BillingLicenses
  3. Select an available license (e.g. Exchange Online Plan 1)
  4. Click Assign licenses
  5. Search for the shared mailbox by name — shared mailboxes appear as assignable targets even though they aren’t standard user accounts
  6. Assign the license and save

Note: If the shared mailbox doesn’t appear in the assignment picker, or no licenses are available, the tenant will need to purchase an additional Exchange Online Plan 1 license before this step can be completed. This is a paid add-on if no spare seats exist.

Option B: PowerShell (alternative, useful for scripted setups)

powershell

# Connect to Microsoft Graph PowerShell
Connect-MgGraph -Scopes "User.ReadWrite.All"

# Find the correct SKU ID for Exchange Online Plan 1
Get-MgSubscribedSku | Select SkuPartNumber, SkuId

# Look for SkuPartNumber: EXCHANGESTANDARD (Plan 1) or EXCHANGEENTERPRISE (Plan 2)

# Assign the license to the shared mailbox
Set-MgUserLicense -UserId "sharedmailbox@customerdomain.com" `
  -AddLicenses @{SkuId = "<SkuId-from-above>"} `
  -RemoveLicenses @()

Important: Don’t Remove the License After Testing

Some admins assign a “spare” or “utility” license temporarily just to confirm the fix works, then remove it afterward to reclaim the seat. This will break Graph API access again.

If the shared mailbox needs to keep working with the integration long-term, the license assignment must be permanent, and the tenant should budget for a dedicated seat rather than rotating a shared one.

Permission Propagation Note

After assigning a license, allow up to 15–60 minutes for the change to propagate. If testing immediately after assignment, a fresh token/sign-in may be required — a previously issued access token will not reflect the new license state.

Other Causes (If Licensing Is Not the Issue)

If the Outlook/OWA test in step “How to Confirm” also fails, check the following instead:

CauseHow to check
Send As not actually granted, or granted to wrong identityGet-RecipientPermission "sharedmailbox@domain.com" | fl Trustee,AccessRights
Full Access granted instead of Send AsFull Access alone does not grant SendMail rights via Graph
Conditional Access policy blocking the appCheck Entra ID sign-in logs for CA failures scoped to the app or Exchange Online
UPN / primary SMTP address mismatchEnsure the “from” address used in the email account from address call matches the mailbox’s primary SMTP address exactly

Updated on July 10, 2026