PHPackages                             ksaros/symfony-office-graph-mailer - 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. ksaros/symfony-office-graph-mailer

ActiveSymfony-mailer-bridge[Mail &amp; Notifications](/categories/mail)

ksaros/symfony-office-graph-mailer
==================================

Symfony Mailer Bridge for Microsoft Graph Api Client

043↑66.7%PHP

Since Feb 17Pushed 3mo agoCompare

[ Source](https://github.com/Ksaros/symfony-office-graph-mailer)[ Packagist](https://packagist.org/packages/ksaros/symfony-office-graph-mailer)[ RSS](/packages/ksaros-symfony-office-graph-mailer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Symfony Mailer Transport for Microsoft Office 365 Graph API
===========================================================

[](#symfony-mailer-transport-for-microsoft-office-365-graph-api)

Provides integration between the `Symfony Mailer` and `Office365 Graph API`.

- Tested on:
    - `Symfony 6.4` on `php 8.1`
    - `Symfony 5.4` on `php 7.4`
- Should work on all Symfony 5.x, 6.x, 7.x instances
    - Feel free to report issues on github if you have them
- Does not require the Microsoft Graph API Client (speaks to Graph API directly)
- No Guzzle or other external libraries needed, uses only Symfony HTTP Client and Symfony Mailer

Installation steps
------------------

[](#installation-steps)

#### 1 add via composer

[](#1-add-via-composer)

```
composer require vitrus/symfony-office-graph-mailer
```

#### 2 Tag the transport factory in your `services.yaml`

[](#2-tag-the-transport-factory-in-your-servicesyaml)

We might change this package to be a bundle so this is no longer needed in the future

```
 Vitrus\SymfonyOfficeGraphMailer\Transport\GraphApiTransportFactory:
    tags: ['mailer.transport_factory']
```

#### 3 configure mailer to use the `microsoft-graph-api` scheme in `.env` (or `.env.local`)

[](#3-configure-mailer-to-use-the-microsoft-graph-api-scheme-in-env-or-envlocal)

```
MAILER_DSN=microsoft-graph-api://{CLIENT_ID}:{CLIENT_SECRET}@{TENANT}
```

The tenant you use here should have permissions to send e-mail, and have access to the user you will configure as `sender` in your e-mails!

Feature: Store in sent items
----------------------------

[](#feature-store-in-sent-items)

Messages are automatically stored in Office 365 `Sent Items` folder, you can disable this with a custom header:

```
$message = (new Email())->subject($subject);

// add (falsy) text header to your Email
$message->getHeaders()->addTextHeader('X-Save-To-Sent-Items', 'false');
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance55

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 59.1% of commits — single point of failure

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/36956389?v=4)[Kacper Głodowski](/maintainers/Ksaros)[@Ksaros](https://github.com/Ksaros)

---

Top Contributors

[![vitrus](https://avatars.githubusercontent.com/u/9404015?v=4)](https://github.com/vitrus "vitrus (13 commits)")[![befresh-mweimerskirch](https://avatars.githubusercontent.com/u/152610886?v=4)](https://github.com/befresh-mweimerskirch "befresh-mweimerskirch (3 commits)")[![mkoitka](https://avatars.githubusercontent.com/u/825214?v=4)](https://github.com/mkoitka "mkoitka (3 commits)")[![enekochan](https://avatars.githubusercontent.com/u/1836845?v=4)](https://github.com/enekochan "enekochan (1 commits)")[![Ksaros](https://avatars.githubusercontent.com/u/36956389?v=4)](https://github.com/Ksaros "Ksaros (1 commits)")[![martinstadelmann](https://avatars.githubusercontent.com/u/25382761?v=4)](https://github.com/martinstadelmann "martinstadelmann (1 commits)")

### Embed Badge

![Health badge](/badges/ksaros-symfony-office-graph-mailer/health.svg)

```
[![Health](https://phpackages.com/badges/ksaros-symfony-office-graph-mailer/health.svg)](https://phpackages.com/packages/ksaros-symfony-office-graph-mailer)
```

###  Alternatives

[minishlink/web-push

Web Push library for PHP

1.9k12.0M53](/packages/minishlink-web-push)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[spatie/url-signer

Generate a url with an expiration date and signature to prevent unauthorized access

4422.3M16](/packages/spatie-url-signer)[mattketmo/email-checker

Throwaway email detection library

2742.0M5](/packages/mattketmo-email-checker)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)[eduardokum/laravel-mail-auto-embed

Library for embed images in emails automatically

1702.0M5](/packages/eduardokum-laravel-mail-auto-embed)

PHPackages © 2026

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