PHPackages                             adt/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. adt/mailer

ActiveLibrary

adt/mailer
==========

The ultimate Nette mailing solution.

v3.2.1(1y ago)248.2k↓43.2%MITPHPPHP &gt;=7.4

Since Sep 26Pushed 1y ago13 watchersCompare

[ Source](https://github.com/AppsDevTeam/Mailer)[ Packagist](https://packagist.org/packages/adt/mailer)[ RSS](/packages/adt-mailer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (21)Used By (0)

Mailer
======

[](#mailer)

Uses [adt/mail-api](https://github.com/appsdevteam/MailApi) to

1. use single mailing service for all your projects,
2. ensure higher email deliverability.

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

[](#installation)

composer:

```
composer require adt/mailer
```

config.neon:

```
extensions:
	adtMailer: ADT\Mailer\DI\AdtMailerExtension

adtMailer:
	remote:
		api: yourAdtMailApiInstance.com:1234

		# can be either static string or method, required
		key: yourPrivateKey

	error:
		# mode: silent => log and continue
		# mode: exception => throw
		mode: silent

		# all undelivered messages are stored here (applies to mode: silent)
		logDir: %logDir%/adt_mailer

	# if recipient is suppressed, this address receives notification and delist link
	# can be either an email address, url or a callback returning an email address or url
	suppressionControlAddress: @App\Model\SuppressionControl::decide
```

Usage
-----

[](#usage)

```
// inject IMailer into $this->mailer

// create message
$message = new \Nette\Mail\Message;

// send message
$this->mailer->send($message);
```

### What happens "under the hood"?

[](#what-happens-under-the-hood)

1. Connection to [adt/mail-api](https://github.com/appsdevteam/MailApi) server is made.
2. Message is serialized and send over there.
3. If connecting/transmitting should fail, next step is determined by `error.mode` config:

- `silent`: store mail into `error.logDir`, log using Tracy, and continue,
- `exception`: exception is thrown without any logging

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance42

Moderate activity, may be stable

Popularity31

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~179 days

Recently: every ~350 days

Total

18

Last Release

477d ago

Major Versions

v1.0.4 → v2.0.02017-03-02

v2.0.0 → v3.02018-04-06

v2.1.1 → v3.12021-03-01

PHP version history (3 changes)v1.0.2PHP &gt;=5.5.0

v3.1PHP &gt;=7.1

v3.2PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/5575ff5b286a1982356d8ed7d8fc9f44385b44ef1108f34ac8c71b106d0c69ec?d=identicon)[michallohnisky](/maintainers/michallohnisky)

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

---

Top Contributors

[![thorewi](https://avatars.githubusercontent.com/u/605858?v=4)](https://github.com/thorewi "thorewi (8 commits)")[![Danoha](https://avatars.githubusercontent.com/u/6437793?v=4)](https://github.com/Danoha "Danoha (7 commits)")[![michallohnisky](https://avatars.githubusercontent.com/u/4747059?v=4)](https://github.com/michallohnisky "michallohnisky (6 commits)")[![NoxZet](https://avatars.githubusercontent.com/u/23127344?v=4)](https://github.com/NoxZet "NoxZet (3 commits)")[![walusiacisko](https://avatars.githubusercontent.com/u/26761509?v=4)](https://github.com/walusiacisko "walusiacisko (1 commits)")[![Walusyak](https://avatars.githubusercontent.com/u/20837611?v=4)](https://github.com/Walusyak "Walusyak (1 commits)")[![zelenomodrypes](https://avatars.githubusercontent.com/u/755065?v=4)](https://github.com/zelenomodrypes "zelenomodrypes (1 commits)")

### Embed Badge

![Health badge](/badges/adt-mailer/health.svg)

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

###  Alternatives

[apigen/apigen

PHP source code API generator.

2.2k627.9k225](/packages/apigen-apigen)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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