PHPackages                             wapacro/laravel-msgraph-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. wapacro/laravel-msgraph-mail

AbandonedArchivedLibrary[Mail &amp; Notifications](/categories/mail)

wapacro/laravel-msgraph-mail
============================

Laravel mail driver to send emails using Microsoft Graph, supporting both personal accounts as well as work/school accounts (365/Exchange)

v2.0.1(4y ago)159.4k↑66.7%23[4 issues](https://github.com/wapacro/laravel-msgraph-mail/issues)[2 PRs](https://github.com/wapacro/laravel-msgraph-mail/pulls)MITPHPPHP &gt;=7.4CI failing

Since May 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/wapacro/laravel-msgraph-mail)[ Packagist](https://packagist.org/packages/wapacro/laravel-msgraph-mail)[ Docs](https://github.com/wapacro/laravel-msgraph-mail)[ RSS](/packages/wapacro-laravel-msgraph-mail/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (4)Dependencies (6)Versions (5)Used By (0)

Laravel Microsoft Graph Mail
============================

[](#laravel-microsoft-graph-mail)

This package makes it easy to send emails from your personal, work or school account using Microsoft's Graph API, allowing you to benefit from HTTP instead of SMTP with Laravel.

*Tested with different company (Microsoft 365 Business) accounts*

Installation
------------

[](#installation)

Install the package using composer:

```
composer require wapacro/laravel-msgraph-mail

```

Add the configuration to your mail.php config file:

```
'mailers' => [

    'microsoft-graph' => [
        'transport' => 'microsoft-graph',
        'tenant' => env('MAIL_MSGRAPH_TENANT', 'common'),
        'client' => env('MAIL_MSGRAPH_CLIENT'),
        'secret' => env('MAIL_MSGRAPH_SECRET')
    ]

    // ...

]
```

Valid values for `tenant` are your tenant identifier (work &amp; school accounts) or `common` for personal accounts.

**Note:** This package relies on [Laravel's Cache](https://laravel.com/docs/cache) interface for caching access tokens. Make sure to configure it properly, too!

### Version

[](#version)

The latest version is only compatible with Laravel 8.x. Use an older version if you didn't upgrade to Laravel 8 yet:

Package VersionLaravel Version^1.07.x^2.08.x### Getting the credentials

[](#getting-the-credentials)

To get the necessary client ID and secret you'll need to register your application and grant it the required permissions. Head over to [the Azure Portal to do so](https://docs.microsoft.com/en-us/graph/auth-register-app-v2)(you don't need to be an Azure user).

Make sure to grant the *Mail.Send* permission and to generate a secret afterwards (may be hidden during app registration).

**Work &amp; School accounts:** Granting your app the *Mail.Send* permission allows you by default to send emails with every valid email address within your company/school. Use an [Exchange Online Application Access Policy](https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access)to restrict which email addresses are valid senders for your application.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~139 days

Total

4

Last Release

1822d ago

Major Versions

v1.0.1 → v2.0.02020-09-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/5caaa2409d4bf07faf1ad6b551f95f7f213a082f642679eb7d27bf7e59443319?d=identicon)[wapacro](/maintainers/wapacro)

---

Tags

exchangegraphlaravellaravel-packagemailmicrosoftoffice365laravelmailmicrosoftexchangegraph365

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wapacro-laravel-msgraph-mail/health.svg)

```
[![Health](https://phpackages.com/badges/wapacro-laravel-msgraph-mail/health.svg)](https://phpackages.com/packages/wapacro-laravel-msgraph-mail)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M7](/packages/propaganistas-laravel-disposable-email)[illuminate/notifications

The Illuminate Notifications package.

513.1M1.1k](/packages/illuminate-notifications)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5021.9k](/packages/simplestats-io-laravel-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
