PHPackages                             fleet-tracking-technology/laravel-mail-transport - 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. fleet-tracking-technology/laravel-mail-transport

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

fleet-tracking-technology/laravel-mail-transport
================================================

Fleet Tracking Technology — Laravel Microsoft Graph mail transport + configurable resolver

v1.0.1(3w ago)03MITPHPPHP ^8.1

Since May 14Pushed 3w agoCompare

[ Source](https://github.com/FTTDev/laravel-mail-transport)[ Packagist](https://packagist.org/packages/fleet-tracking-technology/laravel-mail-transport)[ RSS](/packages/fleet-tracking-technology-laravel-mail-transport/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

fleet-tracking-technology/laravel-mail-transport
================================================

[](#fleet-tracking-technologylaravel-mail-transport)

**Fleet Tracking Technology** — Laravel mailer **`microsoft_graph`** (Symfony Microsoft Graph bridge) + optional **`MailTransportResolver`** for database-driven settings.

Install from GitHub (Composer VCS)
----------------------------------

[](#install-from-github-composer-vcs)

In your Laravel app `composer.json`:

```
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/YOUR_ORG/laravel-mail-transport.git"
    }
],
"require": {
    "fleet-tracking-technology/laravel-mail-transport": "dev-main"
}
```

Replace the URL with your real repo (HTTPS or `git@github.com:...`). Then run `composer update fleet-tracking-technology/laravel-mail-transport`.

If your app has `"minimum-stability": "stable"` (Laravel default), Composer may refuse `dev-main` unless you allow dev for this package only:

```
"require": {
    "fleet-tracking-technology/laravel-mail-transport": "dev-main@dev"
}
```

Or tag a release on GitHub (e.g. `v1.0.0`) and require a normal range:

```
"require": {
    "fleet-tracking-technology/laravel-mail-transport": "^1.0"
}
```

Private repo: use a [GitHub deploy token / SSH key](https://getcomposer.org/doc/articles/authentication.md) so Composer can clone.

Troubleshooting: “Could not find a matching version” / stability
----------------------------------------------------------------

[](#troubleshooting-could-not-find-a-matching-version--stability)

That message almost always means **Composer has no source for the package**:

1. **Not on Packagist** — this name is not published there yet. A bare `composer require fleet-tracking-technology/laravel-mail-transport` **without** a `repositories` entry will fail.
2. **Add `repositories` first** — use `path` (monorepo) or `vcs` (GitHub) as in the sections above, then `composer update`, or `composer require "fleet-tracking-technology/laravel-mail-transport:dev-main@dev"` after the VCS repo is in `composer.json`.
3. **Monorepo subfolder** — if the Git repo root is your whole app and `composer.json` for this library is only under `packages/...`, Composer’s `vcs` type **cannot** install that subfolder as a package. The GitHub repo for VCS install must have **`composer.json` at the repository root** (see “Publish this package to GitHub”).
4. **Wrong branch** — default branch might be `master` not `main`; use `dev-master` or rename the branch to match your constraint.

Install (path / monorepo)
-------------------------

[](#install-path--monorepo)

```
"repositories": [
    {
        "type": "path",
        "url": "packages/fleet-tracking-technology/laravel-mail-transport",
        "options": { "symlink": true }
    }
],
"require": {
    "fleet-tracking-technology/laravel-mail-transport": "@dev"
}
```

Run `composer update`. Laravel auto-discovers `LaravelMailTransportServiceProvider`.

Publish this package to GitHub (first time)
-------------------------------------------

[](#publish-this-package-to-github-first-time)

Do **not** run `git init` inside this folder if it already lives inside another Git repo (nested `.git` causes confusion). Pick one:

### Option A — copy to a new folder (simplest)

[](#option-a--copy-to-a-new-folder-simplest)

1. On GitHub: **New repository** → name e.g. `laravel-mail-transport` → empty, no README.
2. Copy the whole `laravel-mail-transport` directory to a path **outside** your main app (e.g. `C:\src\laravel-mail-transport`).
3. In that copy:

```
git init
git add .
git commit -m "Initial commit: Fleet Tracking Technology laravel-mail-transport"
git branch -M main
git remote add origin https://github.com/YOUR_ORG/laravel-mail-transport.git
git push -u origin main
```

4. In the app, switch from `path` to `vcs` (see above) and run `composer update`.

### Option B — stay inside monorepo: `git subtree split`

[](#option-b--stay-inside-monorepo-git-subtree-split)

From the **root** of the main repository:

```
git subtree split -P packages/fleet-tracking-technology/laravel-mail-transport -b fft-mail-transport-split
git push https://github.com/YOUR_ORG/laravel-mail-transport.git fft-mail-transport-split:main
```

Then use the GitHub URL as a `vcs` repository in other projects.

Env-only
--------

[](#env-only)

Set `MAIL_MAILER=microsoft_graph` and `MAIL_GRAPH_*` in `.env`. Optionally:

`php artisan vendor:publish --tag=mail-transport-config`

Custom resolver (e.g. Spatie settings)
--------------------------------------

[](#custom-resolver-eg-spatie-settings)

Implement `FleetTrackingTechnology\LaravelMailTransport\Contracts\MailTransportResolver` and register:

```
$this->app->singleton(MailTransportResolver::class, YourResolver::class);
```

After runtime changes: `MailTransportApplier::applyFromContainer();` and `Mail::purge();`

Test
----

[](#test)

`php artisan mail:test you@example.com`

Requirements
------------

[](#requirements)

- **PHP** 8.1+
- **Laravel** 10 / 11 / 12 (uses Symfony Mailer 6+ already shipped with Laravel)
- Microsoft Entra app with **Application** permission **Mail.Send** + admin consent

Graph sending is implemented with `symfony/http-client` (no separate `symfony/microsoft-graph-mailer` package), so it stays compatible with Laravel 10’s Symfony 6 mail stack.

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance94

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

26d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3c4fc8c820c97f49e7abc9366dd16aca1187a1b50aeb5326191c7c5b2b64c3b3?d=identicon)[FTTDev](/maintainers/FTTDev)

---

Top Contributors

[![ahmedmostafaouf](https://avatars.githubusercontent.com/u/47643605?v=4)](https://github.com/ahmedmostafaouf "ahmedmostafaouf (4 commits)")

---

Tags

laravelmailsmtpentraOffice365Microsoft graph

### Embed Badge

![Health badge](/badges/fleet-tracking-technology-laravel-mail-transport/health.svg)

```
[![Health](https://phpackages.com/badges/fleet-tracking-technology-laravel-mail-transport/health.svg)](https://phpackages.com/packages/fleet-tracking-technology-laravel-mail-transport)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M195](/packages/sulu-sulu)[kimai/kimai

Kimai - Time Tracking

4.7k8.7k1](/packages/kimai-kimai)[propaganistas/laravel-disposable-email

Disposable email validator

6012.9M7](/packages/propaganistas-laravel-disposable-email)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M506](/packages/shopware-core)[illuminate/mail

The Illuminate Mail package.

6410.4M465](/packages/illuminate-mail)[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

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