PHPackages                             kristiani/email-roundtrip-monitor - 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. kristiani/email-roundtrip-monitor

ActiveLibrary

kristiani/email-roundtrip-monitor
=================================

E-mail Roundtrip monitor package

0.1(9y ago)212MITPHPPHP &gt;=5.4.0

Since Feb 8Pushed 6y ago1 watchersCompare

[ Source](https://github.com/JustIversen/email-roundtrip-monitor)[ Packagist](https://packagist.org/packages/kristiani/email-roundtrip-monitor)[ RSS](/packages/kristiani-email-roundtrip-monitor/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

email-roundtrip-monitor
=======================

[](#email-roundtrip-monitor)

Simple PHP email round trip monitoring tool.

Has IMAP support for validating that e-mails are received.

The test e-mails should be sent through the e-mail method that is usual used in your project (passed as a callback function).

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

[](#installation)

`composer require kristiani/email-roundtrip-monitor`

Usage
-----

[](#usage)

You would like your set-up to consist of two cron jobs

1. The cron that sends a test e-mail. The cron can be run e.g. every 15 minutes.
2. The cron that checks the test e-mail is received within an tolerated interval. The cron can be run e.g. every 5 minutes. It's convenient to let a 3rd party service (e.g. uptimerobot.com) pull this check instead of a local cron.

### Sending cron

[](#sending-cron)

```
\Roundtripmonitor\Config::$receiverEmail = 'testmailbox@receiver.com';

\Roundtripmonitor\Send::email(function($toName, $toEmail, $fromName, $fromEmail, $subject, $body) {
    yourEmailFunction($toName, $toEmail, $fromName, $fromEmail, $subject, $body);
});
```

### Receiving cron

[](#receiving-cron)

If you would like your receiving cron to return status code 500 on failure:

```
\Roundtripmonitor\Config::server('imap.host.com', 143, 'imapUsername', 'imapPassword', 'INBOX');
\Roundtripmonitor\Confirm::emailOrFail();
```

If you prefer to handle your exceptions by yourself:

```
try {
    \Roundtripmonitor\Config::server('imap.host.com', 143, 'imapUsername', 'imapPassword', 'INBOX');
    \Roundtripmonitor\Confirm::email();
} catch (\Exception $ex) {
    // do something about it
}
```

### Change settings

[](#change-settings)

You can change all settings in Config.php individually, e.g.

```
\Roundtripmonitor\Config::$alertThresholdTime = 900;
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

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

Unknown

Total

1

Last Release

3380d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/09517f61f4fb62fcd6ad4e26aca3505817dc3587c666c02b676a593cf80eeb9a?d=identicon)[KristianI](/maintainers/KristianI)

---

Top Contributors

[![KristianI](https://avatars.githubusercontent.com/u/1626966?v=4)](https://github.com/KristianI "KristianI (4 commits)")[![JensJI](https://avatars.githubusercontent.com/u/10193394?v=4)](https://github.com/JensJI "JensJI (1 commits)")

---

Tags

cronemail-roundtrip-monitorroundtrip

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kristiani-email-roundtrip-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/kristiani-email-roundtrip-monitor/health.svg)](https://phpackages.com/packages/kristiani-email-roundtrip-monitor)
```

###  Alternatives

[mediaessenz/mail

Powerful newsletter system for TYPO3

119.1k2](/packages/mediaessenz-mail)

PHPackages © 2026

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