PHPackages                             bernhardwebstudio/msft-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. bernhardwebstudio/msft-graph-mailer

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

bernhardwebstudio/msft-graph-mailer
===================================

A mailer for Symfony to send mails using Microsoft Graph

v0.1.7(2mo ago)14.3k↓34%1[1 issues](https://github.com/GenieTim/msft-graph-mailer/issues)MITPHPCI passing

Since Jan 28Pushed 1w ago1 watchersCompare

[ Source](https://github.com/GenieTim/msft-graph-mailer)[ Packagist](https://packagist.org/packages/bernhardwebstudio/msft-graph-mailer)[ RSS](/packages/bernhardwebstudio-msft-graph-mailer/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (2)Dependencies (10)Versions (19)Used By (0)

msft-graph-mailer
=================

[](#msft-graph-mailer)

A mailer for Symfony to send mails using Microsoft Graph (i.e., send Office 365/Outlook/Exchange E-Mails)

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

[](#installation)

Simply install using Composer:

```
composer require bernhardwebstudio/msft-graph-mailer
```

Configuration
-------------

[](#configuration)

You need to tell Symfony that this is a mail transport:

```
# services.yaml
services:
  mailer.transport_factory.msftgraph:
    class: BernhardWebstudio\Mailer\Bridge\MsftGraphMailer\Transport\MsftGraphTransportFactory
    parent: mailer.transport_factory.abstract
    tags:
      - { name: "mailer.transport_factory" }
```

Finally, you need to configure the mailer bundle to use this transport, e.g. using an ENV variable like

```
MAILER_DSN=msft+graph://{client-id}:{client-secret}@outlook.com?saveToSent=1&tenant={tenant-id}
```

where you replace all the values in `{}` with your own values from your active directory.

The `tenant` and `saveToSent` options are optional.

Usage
-----

[](#usage)

If you set the configuration correctly, that's all, you can simply use the Symfony mailer and you will be sending the E-Mails using the Microsoft Graph API.

Please note that this transport does not support all types of E-Mail messages in its best form. Please contribute if you understand enough about MIME and Microsoft Graph to fix this.

Additionally, Microsoft imposes restrictions on the sender E-Mail you can use. Simply be aware of that when setting the `From` of the E-Mail, please, if you want to prevent errors.

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance71

Regular maintenance activity

Popularity24

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% 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.

###  Release Activity

Cadence

Every ~53 days

Recently: every ~136 days

Total

16

Last Release

86d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a3c9aff154ecea2cb56db72163beea80f60f4cae18a09cad85ccaa8054e2fb2a?d=identicon)[BernhardWebstudio](/maintainers/BernhardWebstudio)

---

Top Contributors

[![GenieTim](https://avatars.githubusercontent.com/u/8596965?v=4)](https://github.com/GenieTim "GenieTim (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![siwa-srittberger](https://avatars.githubusercontent.com/u/116637552?v=4)](https://github.com/siwa-srittberger "siwa-srittberger (1 commits)")

###  Code Quality

Code StyleECS

### Embed Badge

![Health badge](/badges/bernhardwebstudio-msft-graph-mailer/health.svg)

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

###  Alternatives

[illuminate/mail

The Illuminate Mail package.

5910.6M500](/packages/illuminate-mail)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[symfony/mailgun-mailer

Symfony Mailgun Mailer Bridge

14538.8M98](/packages/symfony-mailgun-mailer)[symfony/postmark-mailer

Symfony Postmark Mailer Bridge

4820.4M66](/packages/symfony-postmark-mailer)[symfony/mailchimp-mailer

Symfony Mailchimp Mailer Bridge

286.4M20](/packages/symfony-mailchimp-mailer)[symfony/mailjet-mailer

Symfony Mailjet Mailer Bridge

485.3M15](/packages/symfony-mailjet-mailer)

PHPackages © 2026

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