Add optional mailbox (UPN/SMTP) routing on email/folder/thread tools via
users/{upn}/... and X-AnchorMailbox. New list-mailboxes probes primary,
OUTLOOK_SHARED_MAILBOXES seeds, cache, and candidates. Send supports
mailbox-rooted sendMail and onBehalfOf. MSAL requests Mail.*.Shared;
check-auth-status reports token scp gaps. Docs, env example, tests.
1.7 KiB
1.7 KiB
Changelog
1.1.0
Added
- Shared/delegated mailbox support via optional
mailbox(UPN/SMTP) on email, folder, and thread tools - Graph path routing
me/...→users/{upn}/...withX-AnchorMailboxheader list-mailboxestool: primary +OUTLOOK_SHARED_MAILBOXES+ cache +candidates[], non-destructive read/folder probes- Local mailbox probe cache (
${tokenStore}.mailboxes.jsonorOUTLOOK_MAILBOX_CACHE_PATH) send-emailoptions:mailbox,from,onBehalfOf(mailbox-rooted send vs me-rooted send-on-behalf)check-auth-statusreports whetherMail.Read.Shared/Mail.ReadWrite.Shared/Mail.Send.Sharedare on the tokenscp- Env:
OUTLOOK_ENABLE_SHARED_MAILBOXES,OUTLOOK_SHARED_MAILBOXES,OUTLOOK_MAILBOX_CACHE_PATH,OUTLOOK_MAILBOX_PROBE_CONCURRENCY - Unit tests:
tests/mailbox-path.test.js,tests/mailbox-send-path.test.js
Changed
- Version bump to 1.1.0
- Default MSAL scopes include shared mailbox delegated permissions when enabled
callGraphAPIaccepts optional headers; queryParams copy no longer mutates caller$filterread-email/read-emailsno longer double-encode message IDs before path encoding- README: shared mailbox section, Azure shared scopes, env table updates
Notes / operator actions
- Entra app registration needs new delegated permissions + admin consent
- Existing users must re-run device-code
authenticateafter upgrade - Graph cannot enumerate all mailboxes a user can access; seed with env or EXO
- Calendar and inbox rules remain primary-mailbox only in this release
sendAscapability is unverified until a successful send
1.0.1
Prior release: Graph empty-body write fix, timezone display/filters, search strict, folder list fixes, 429/503 retry/backoff.