PHPackages                             josbeir/cakephp-symfony-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. josbeir/cakephp-symfony-mailer

ActiveCakephp-plugin[Mail &amp; Notifications](/categories/mail)

josbeir/cakephp-symfony-mailer
==============================

CakePHP 5 transport bridge for Symfony Mailer

0.1.1(yesterday)030—10%MITPHPPHP &gt;=8.2CI passing

Since Aug 16Pushed yesterdayCompare

[ Source](https://github.com/josbeir/cakephp-symfony-mailer)[ Packagist](https://packagist.org/packages/josbeir/cakephp-symfony-mailer)[ RSS](/packages/josbeir-cakephp-symfony-mailer/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (6)Versions (3)Used By (0)

CakePHP Symfony Mailer Bridge
=============================

[](#cakephp-symfony-mailer-bridge)

[![PHPStan Level 10](https://camo.githubusercontent.com/022b70e6631d055205dfebf2aa7e53b3f63e7a3ea04a18e86429f279e29a29f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c25323031302d627269676874677265656e)](https://github.com/josbeir/cakephp-symfony-mailer)[![Build Status](https://github.com/josbeir/cakephp-symfony-mailer/actions/workflows/ci.yml/badge.svg)](https://github.com/josbeir/cakephp-symfony-mailer/actions)[![codecov](https://camo.githubusercontent.com/1ef4c9f04cc4f0c2ef8439ce2710ca2498f4ed8e9ad42ea4a8e439c45f55f261/68747470733a2f2f636f6465636f762e696f2f6769746875622f6a6f73626569722f63616b657068702d73796d666f6e792d6d61696c65722f67726170682f62616467652e737667)](https://codecov.io/github/josbeir/cakephp-symfony-mailer)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/744f8821cc27dec8b0013ade48179731a44eadf4f943e0b1d9ffcb93f80177de/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322532422d626c75652e737667)](https://www.php.net/releases/8.2/en.php)[![Packagist Downloads](https://camo.githubusercontent.com/36021b4b51378c5ce799439b0bdaa1407394776f39324ae5965e505b77ff0629/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a6f73626569722f63616b657068702d73796d666f6e792d6d61696c6572)](https://packagist.org/packages/josbeir/cakephp-symfony-mailer)

`josbeir/cakephp-symfony-mailer` provides a CakePHP 5 mail transport that hands CakePHP's rendered MIME messages to Symfony Mailer.

CakePHP remains responsible for rendering the message. Symfony Mailer is responsible for delivery, so multipart alternatives, attachments, inline `cid:` images, and CakePHP headers are preserved.

Why use this bridge?
--------------------

[](#why-use-this-bridge)

Keep CakePHP's mailer API, templates, localization, and MIME composition while gaining Symfony Mailer's transport ecosystem:

- Use provider bridges and HTTP API transports for services such as Mailgun, Amazon SES, Postmark, and SendGrid.
- Switch between Mailpit or SMTP locally and an API-backed provider in production through configuration alone.
- Configure Symfony's failover and round-robin transports without changing application mailers.
- Preserve multipart text/HTML messages, attachments, inline `cid:` images, custom headers, and envelope recipients.
- Keep delivery concerns out of application mailers: CakePHP builds the message and Symfony Mailer delivers it.

Symfony Mailer documentation
----------------------------

[](#symfony-mailer-documentation)

This bridge delegates transport selection and delivery to Symfony Mailer. See the [Symfony Mailer documentation](https://symfony.com/doc/current/mailer.html) for DSN syntax, built-in transports, TLS settings, failover, and round-robin delivery.

For provider-backed delivery, see [Using a 3rd-party transport](https://symfony.com/doc/current/mailer.html#using-a-3rd-party-transport). Install the provider bridge for the mailer you choose. API-based transports also require Symfony's `symfony/http-client` package; provider bridges do not necessarily install that optional HTTP client themselves. SMTP, Sendmail, and Native transports do not need it. This plugin remains provider-agnostic and supports any transport accepted by Symfony Mailer.

### Commonly supported mailers

[](#commonly-supported-mailers)

Symfony Mailer provides provider bridges for commonly used services including:

MailerSymfony bridgeAhaSend`symfony/aha-send-mailer`Amazon SES`symfony/amazon-mailer`Azure Communication Services`symfony/azure-mailer`Brevo`symfony/brevo-mailer`Mailgun`symfony/mailgun-mailer`Mailjet`symfony/mailjet-mailer`MailerSend`symfony/mailer-send-mailer`Mailtrap`symfony/mailtrap-mailer`Microsoft Graph`symfony/microsoft-graph-mailer`Postmark`symfony/postmark-mailer`Resend`symfony/resend-mailer`SendGrid`symfony/sendgrid-mailer`Symfony also includes built-in `smtp`, `sendmail`, and `native` transports. The provider list changes over time; consult the [Symfony provider table](https://symfony.com/doc/current/mailer.html#using-a-3rd-party-transport) for the complete, current list and each provider's DSN format. Gmail's transport is intended as a convenience for development and testing, not as a production delivery service.

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

[](#requirements)

- PHP 8.2 or newer
- CakePHP 5.2 or newer
- Symfony Mailer 7.4 or newer within the 7.x series

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

[](#installation)

```
composer require josbeir/cakephp-symfony-mailer
bin/cake plugin load CakeSymfonyMailer
```

Install the Symfony provider bridge and any additional component required by the chosen DSN. The Mailgun bridge depends on `symfony/mailer`, but its HTTP API transport does not pull in `symfony/http-client` automatically. For Mailgun API delivery, install both explicitly:

```
composer require symfony/mailgun-mailer symfony/http-client
```

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

[](#configuration)

Configure the transport through CakePHP's normal `EmailTransport` settings:

```
use CakeSymfonyMailer\Mailer\Transport\SymfonyMailerTransport;

'EmailTransport' => [
    'default' => [
        'className' => SymfonyMailerTransport::class,
        'dsn' => env('MAILER_DSN'),
    ],
],
```

Examples of Symfony DSNs include:

```
# Mailgun API (install symfony/mailgun-mailer and symfony/http-client)
MAILER_DSN='mailgun+https://API_KEY:DOMAIN@default'

# SMTP
MAILER_DSN='smtp://user:password@smtp.example.com:587?require_tls=true'

# Symfony failover transport
MAILER_DSN='failover(smtp://user:password@smtp.example.com:587 smtp://user:password@smtp-backup.example.com:587)'
```

Follow Symfony Mailer's DSN escaping rules for credentials containing reserved URI characters.

Development
-----------

[](#development)

```
composer install
composer test
composer cs-check
composer stan
composer rector-check
```

The checks run PHPUnit, PHPCS, PHPStan at level 10, and Rector in dry-run mode. Coverage is collected separately with:

```
composer test-coverage
```

The CI coverage job requires a coverage driver and publishes a Clover report for `src/`.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance100

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 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

1d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/26058?v=4)[Jasper Smet](/maintainers/josbeir)[@josbeir](https://github.com/josbeir)

---

Top Contributors

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

---

Tags

symfonyemailcakephpmailer

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/josbeir-cakephp-symfony-mailer/health.svg)

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

###  Alternatives

[sylius/mailer-bundle

Mailers and e-mail template management for Symfony projects.

728.8M91](/packages/sylius-mailer-bundle)[hafael/azure-mailer-driver

Supercharge your Laravel or Symfony app with Microsoft Azure Communication Services (ACS)! Effortlessly add email, chat, voice, video, and telephony-over-IP for next-level communication. 🚀

15138.8k](/packages/hafael-azure-mailer-driver)[narendravaghela/cakephp-mailgun

Mailgun plugin for CakePHP - Send emails using Mailgun API

23371.2k](/packages/narendravaghela-cakephp-mailgun)[dotkernel/dot-mail

Dotkernel mail component based on symfony mailer

1147.8k7](/packages/dotkernel-dot-mail)

PHPackages © 2026

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