PHPackages                             riddlestone/brokkr-mail - 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. riddlestone/brokkr-mail

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

riddlestone/brokkr-mail
=======================

A Laminas module to provide service-manager built and configured mail transports

v0.1.2(6y ago)01161BSD-3-ClausePHPPHP ^7.3CI failing

Since May 8Pushed 5y ago1 watchersCompare

[ Source](https://github.com/riddlestone/brokkr-mail)[ Packagist](https://packagist.org/packages/riddlestone/brokkr-mail)[ Docs](https://github.com/riddlestone/brokkr-mail)[ RSS](/packages/riddlestone-brokkr-mail/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (7)Versions (4)Used By (1)

Riddlestone Brokkr-Mail
=======================

[](#riddlestone-brokkr-mail)

A [Laminas](https://github.com/laminas) module to provide service-manager built and configured mail transports

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

[](#installation)

Installation of this module uses composer. For composer documentation, please refer to [getcomposer.org](http://getcomposer.org/).

```
composer require riddlestone/brokkr-mail
```

Usage
-----

[](#usage)

### Building a Message

[](#building-a-message)

This module adds a factory for generating messages with content created using Laminas View.

```
// local.config.php

return [
    'view_manager' => [
        'template_path_stack' => [
            __DIR__ . '/../views',
        ],
    ],
];
```

```
// some_factory_or_service.php

use Laminas\ServiceManager\ServiceManager;
use Riddlestone\Brokkr\Mail\MessageFactory;

/** @var ServiceManager $serviceManager */

$messageFactory = $serviceManager->get(MessageFactory::class);
$message = $messageFactory(
    'mail/my-html-template',
    'mail/my-text-template',
    [
        'view_variable_1' => 'Some value',
        'view_variable_2' => 'Some other value',
    ],
);
```

Once created, you will need to set the subject, and other header fields (such as To, From, etc.).

The created message will have two alternate mime-parts: text and HTML. If the text template is omitted, the text will be created from the HTML content.

### Building a Transport

[](#building-a-transport)

This module adds a factory for `Laminas\Mail\Transport\TransportInterface` which creates it from configuration at `mail.transport`.

For example, to use a shared SMTP transport:

```
// local.config.php

return [
    'mail' => [
        'transport' => [
            'type' => 'smtp',
            'options' => [
                'name' => 'smtp.example.com',
                'host' => 'smtp.example.com',
                'connection_class' => 'login',
                'connection_config' => [
                    'username' => 'me@example.com',
                    'password' => 'my-p@ssw0rd',
                ],
            ],
        ],
    ],
];
```

```
// some_factory_or_service.php

use Laminas\Mail\Message;
use Laminas\Mail\Transport\TransportInterface;
use Laminas\ServiceManager\ServiceManager;

/** @var ServiceManager $serviceManager */
/** @var Message $message */

/** @var TransportInterface $transport */
$transport = $serviceManager->get(TransportInterface::class);
$transport->send($message);
```

For more details on the configuration options, see the [Laminas Mail Docs](https://docs.laminas.dev/laminas-mail/transport/smtp-options/#configuration-options).

Get Involved
------------

[](#get-involved)

File issues at

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

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

3

Last Release

2193d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

brokkremaillaminaslaminas-mailmaillaminasmailemail

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/riddlestone-brokkr-mail/health.svg)

```
[![Health](https://phpackages.com/badges/riddlestone-brokkr-mail/health.svg)](https://phpackages.com/packages/riddlestone-brokkr-mail)
```

###  Alternatives

[zbateson/mail-mime-parser

MIME email message parser

53949.2M79](/packages/zbateson-mail-mime-parser)[ddeboer/imap

Object-oriented IMAP for PHP

9153.9M11](/packages/ddeboer-imap)[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)[slm/mail

Integration of various email service providers in the Laminas\\Mail

108732.4k1](/packages/slm-mail)[coconutcraig/laravel-postmark

Laravel package for sending mail via the Postmark API

2152.9M1](/packages/coconutcraig-laravel-postmark)[voku/email-check

email-check (syntax, dns, trash, ...) library

504.1M4](/packages/voku-email-check)

PHPackages © 2026

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