innoge/laravel-msgraph-mail
Laravel Mail driver for Microsoft Office 365 using the MSGraph API
v2.0.0
547K downloads/mo
#3341 most downloaded on Packagist
InnoGE/laravel-msgraph-mail
What this package is like to depend on
Last release 20 days ago
03 Aug 2026
Release timing varies
gaps range from 3 weeks to 10 months
Most releases are documented
notes for 11 of 16 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
16 releases · first in 2023
5 releases in the last 12 months
see the full history below
Release timeline
16 releases · Feb 2023 to Aug 2026Releases
latest 16-
v2.0.003 Aug 2026Release notes
Open source →Version 2.0 modernizes the package and closes the longest-standing feature requests. See UPGRADE.md for the full 1.x → 2.0 migration guide.
Added
- Certificate-based client authentication via
client_certificate(JWT client assertion, PEM content or file paths, optional passphrase) — no more expiring client secrets - Automatic large-attachment handling: mails above the ~4 MB Graph
sendMaillimit are sent through draft messages and chunked attachment upload sessions (requires theMail.ReadWriteapplication permission); closes #41, supersedes #42 — thanks @willem-v-dam - Per-mailable
saveToSentItemsoverride via SymfonyMetadataHeader('save-to-sent-items', …); supersedes #50 — thanks @yparitcher - Mailer-level
fromis now optional and falls back to the globalmail.from; supersedes #35 and #44 — thanks @spawnia - Laravel Boost skill (
msgraph-mail) with configuration guidance, troubleshooting, and an Azure app registration walkthrough
Changed
- Requires PHP >= 8.2 and Laravel 11, 12, or 13
- Access tokens are cached for their actual
expires_inlifetime (minus a safety buffer) and per tenant and client; the undocumentedaccess_token_ttloption was removed - Attachment names use the real filename including its extension where the framework exposes one (inline images now render in clients like Thunderbird); closes #69 — thanks @apreiml — and the #58/#52 lineage
save_to_sent_itemsis read from the mailer's own config entry, fixing silently-disabled saving on mailers registered under custom keys- With
save_to_sent_itemsdisabled, large (draft-based) sends permanently delete the sent copy; failed draft sends clean up their orphaned draft - Symfony metadata/tag headers are no longer forwarded to recipients as literal mail headers
- PHPStan baseline emptied; all previously suppressed issues fixed with real types
Maintenance
The
1.xbranch remains open for security and compatibility fixes.Release notes
Open source →See UPGRADE.md for the full migration guide.
Added
- Certificate-based client authentication via
client_certificate(JWT client assertion, PEM content or file paths, optional passphrase) — no more expiring client secrets - Automatic handling of mails above the ~4 MB Graph
sendMaillimit through draft messages and chunked attachment upload sessions (requires theMail.ReadWriteapplication permission); closes #41, supersedes #42 - Per-mailable
saveToSentItemsoverride via SymfonyMetadataHeader('save-to-sent-items', …); supersedes #50 - Mailer-level
fromis now optional and falls back to the globalmail.from; supersedes #35 and #44 - Laravel Boost skill (
msgraph-mail) with configuration guidance, troubleshooting, and an Azure app registration walkthrough
Changed
- Requires PHP >= 8.2 and Laravel 11, 12, or 13
- Access tokens are cached for their actual
expires_inlifetime (minus a safety buffer) and per tenant and client; the undocumentedaccess_token_ttloption was removed - Attachment names use the real filename including its extension where the framework exposes one (inline images now render in clients like Thunderbird); closes #69 and the #58/#52 lineage
save_to_sent_itemsis read from the mailer's own config entry, fixing silently-disabled saving on mailers registered under custom keys- With
save_to_sent_itemsdisabled, large (draft-based) sends permanently delete the sent copy; failed draft sends clean up the orphaned draft - Symfony metadata/tag headers are no longer forwarded to recipients as literal mail headers
- PHPStan baseline emptied; all previously suppressed issues fixed with real types
- Certificate-based client authentication via
-
1.5.025 Feb 2026Release notes
Open source → -
1.4.304 Jan 2026Release notes
Open source →What's Changed
- Bump stefanzweifel/git-auto-commit-action from 6 to 7 by @dependabot[bot] in #56
- Fix laravel 12 inline mail attachements by @geisi in #60
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #57
Full Changelog: 1.4.2...1.4.3
-
1.4.208 Oct 2025Release notes
Open source →What's Changed
- change getMediaType to getContentType by @leeroy869 in #55
New Contributors
- @leeroy869 made their first contribution in #55
Full Changelog: 1.4.1...1.4.2
-
1.4.117 Sep 2025Release notes
Open source →What's Changed
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #53
- Bump aglipanci/laravel-pint-action from 2.5 to 2.6 by @dependabot[bot] in #51
- Bump stefanzweifel/git-auto-commit-action from 5 to 6 by @dependabot[bot] in #47
- Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 by @dependabot[bot] in #46
- Add functionnality to have multiple mailers from the transport by @Heyian in #54
New Contributors
Full Changelog: 1.4.0...1.4.1
-
1.4.015 Feb 2025Release notes
Open source → -
1.3.115 Feb 2025Release notes
Open source →What's Changed
- Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 by @dependabot in #28
- Bump aglipanci/laravel-pint-action from 2.3.1 to 2.4 by @dependabot in #26
- Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 by @dependabot in #31
- Fix tests with newer Laravel 11 versions by @geisi in #33
- Support custom mail headers by @geisi in #39
- Bump aglipanci/laravel-pint-action from 2.4 to 2.5 by @dependabot in #37
- Bump dependabot/fetch-metadata from 2.2.0 to 2.3.0 by @dependabot in #36
Full Changelog: 1.3.0...1.3.1
-
1.3.022 Apr 2024Release notes
Open source →What's Changed
- Bump ramsey/composer-install from 2 to 3 by @dependabot in #19
- Bump actions/checkout from 3 to 4 by @dependabot in #18
- Bump aglipanci/laravel-pint-action from 2.3.0 to 2.3.1 by @dependabot in #15
- Reuse composer PHP process by @spawnia in #25
- Remove outdated compatibility hint by @spawnia in #24
- Reuse $this->app in service provider by @spawnia in #22
- Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 by @dependabot in #20
- Apply formatting by @spawnia in #21
- Raise PHPStan level to max and allow multiple mailers by @spawnia in #23
New Contributors
Full Changelog: 1.2.0...1.3.0
-
1.2.025 Feb 2024Release notes
Open source → -
1.1.028 Nov 2023Release notes
Open source → -
1.0.505 Nov 2023Nothing published for this version
-
1.0.402 Oct 2023Nothing published for this version
-
1.0.316 Aug 2023Nothing published for this version
-
1.0.230 Jun 2023Nothing published for this version
-
1.0.113 Feb 2023Nothing published for this version
-
1.0.013 Feb 2023Release notes
Open source →Initial Release 🍾
Full Changelog: https://github.com/InnoGE/laravel-msgraph-mail/commits/1.0.0