Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Microsoftgraph Laravel Package

lloadout/microsoftgraph

Laravel package for integrating the Microsoft Graph API. Connect your app to Microsoft 365 to work with Outlook mail, calendars, OneDrive files, Teams, and Azure AD users through a fluent interface.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Mail delivery infrastructure (build vs. buy): The package provides a Microsoft Graph mail transport, so the decision it informs is whether to keep paying for an SMTP relay/ESP or send application mail directly through the tenant's M365 subscription. Supports the "leverage existing M365 licensing, cut a vendor" case.
  • Auth-model modernization: Microsoft has retired SMTP AUTH basic auth for Exchange Online. This release keeps the OAuth/Graph path current, which underpins any roadmap item framed as "remove SMTP credentials and legacy app passwords from the stack" — a security and compliance win, not just a technical one.
  • Document storage strategy: The onedrive disk (Flysystem adapter) supports decisions about using OneDrive/SharePoint as a storage backend for user-generated documents instead of standing up S3 or a NAS — relevant for enterprise customers who require data to stay in their tenant.
  • Laravel 13 upgrade readiness: With support for Laravel 11–13 and PHP 8.2+, this package is no longer a blocker in the framework upgrade plan. That directly affects sequencing and staffing of the upgrade roadmap.
  • Dependency hygiene / supply-chain posture: The migration off the abandoned nunomaduro/larastan to larastan/larastan, plus PHP 8.4 deprecation fixes, is evidence of active maintenance — a factor in the risk register for any package we depend on.
  • Roadmap gating: The change to OnedriveAdapter::read() (now throws UnableToReadFile instead of returning false) is a behavior change that must be scheduled as a migration task if we adopt it, not treated as a drop-in patch.

When to Consider This Package

Adopt when:

  • We need one or both of: Graph-based mail sending and OneDrive/SharePoint as a Laravel storage disk. If we only need mail, evaluate the mail transport in isolation.
  • We are on PHP 8.2+ and Laravel 11, 12, or 13. Apps still on PHP 8.0/8.1 must pin to v1.20 and accept that they are off the supported path.
  • We want a thin integration layer rather than a full Graph SDK — configuration-driven, minimal surface area, low ceremony.
  • M365 tenant ownership is already in place and an admin can grant app permissions/consent.

Look elsewhere when:

  • We need broad Microsoft Graph coverage (Teams, Calendar, Users, Intune, webhooks/subscriptions). This package is scoped to mail + storage; a full Graph SDK or direct HTTP client is a better fit.
  • We require a commercial SLA or vendor support contract — this is a small-maintainer open-source package and should be treated as such in the risk register.
  • High-volume or large-attachment mail is a core requirement. Graph send limits and attachment-size ceilings mean we should verify throughput and upload-session behavior against our actual volumes before committing.
  • We need sophisticated multi-tenant consent flows, retry/backoff, or delivery observability beyond what a thin transport provides — expect to build that ourselves.

Adoption gate before merge: pin the version, run an integration test that exercises (a) mail send in a real tenant and (b) an onedrive disk read/write on Laravel 13, and audit any code that inspects the return value of read().

How to Pitch It (Stakeholders)

To executives: This is a maintenance release that keeps our Microsoft 365 integration current with the latest Laravel and PHP versions. Practically, it means we can retire SMTP credentials from our stack — a security and audit win — while continuing to use M365 licensing we already pay for instead of a third-party relay. It removes a known blocker from the framework upgrade plan. There is no new licensing cost.

To engineering: v1.21 adds Laravel 13 support (tested against Testbench 9–11) and raises the floor to PHP 8.2. Two things need attention: the OneDrive adapter now conforms to Flysystem 3 and throws UnableToReadFile instead of returning false from read() — audit callers for falsy checks and wrap accordingly; and the onedrive disk had a real Laravel 13 bug, now fixed by capturing the provider explicitly in the Storage::extend() closure. Also includes a PHP 8.4 nullable-Envelope deprecation fix and a move to the maintained larastan/larastan. Recommended path: upgrade in a branch, run the tenant-backed mail and disk integration tests, then roll forward.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules