PHPackages                             detain/myadmin-abuse-plugin - 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. [Admin Panels](/categories/admin)
4. /
5. detain/myadmin-abuse-plugin

ActiveMyadmin-plugin[Admin Panels](/categories/admin)

detain/myadmin-abuse-plugin
===========================

Abuse handling plugin for MyAdmin

v2.0.0(6y ago)42.1kLGPL-2.1-onlyPHPPHP &gt;=5.0.0CI failing

Since Jun 24Pushed 1mo agoCompare

[ Source](https://github.com/myadmin-plugins/abuse-plugin)[ Packagist](https://packagist.org/packages/detain/myadmin-abuse-plugin)[ RSS](/packages/detain-myadmin-abuse-plugin/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (8)Versions (4)Used By (0)

MyAdmin Abuse Plugin
====================

[](#myadmin-abuse-plugin)

[![Tests](https://github.com/detain/myadmin-abuse-plugin/actions/workflows/tests.yml/badge.svg)](https://github.com/detain/myadmin-abuse-plugin/actions/workflows/tests.yml)[![Latest Stable Version](https://camo.githubusercontent.com/4324a80fe29cfd882955179245d496c901dc8be0351e2c6b06d441b438876590/68747470733a2f2f706f7365722e707567782e6f72672f64657461696e2f6d7961646d696e2d61627573652d706c7567696e2f76657273696f6e)](https://packagist.org/packages/detain/myadmin-abuse-plugin)[![Total Downloads](https://camo.githubusercontent.com/dbc867e60e522291e505649a10b87ff294b62c36775189b1f2f707a05a758095/68747470733a2f2f706f7365722e707567782e6f72672f64657461696e2f6d7961646d696e2d61627573652d706c7567696e2f646f776e6c6f616473)](https://packagist.org/packages/detain/myadmin-abuse-plugin)[![License](https://camo.githubusercontent.com/ac671ae3194afcdd65268d7039b87de8f49d7c225a07a35352be7dd9b4799c30/68747470733a2f2f706f7365722e707567782e6f72672f64657461696e2f6d7961646d696e2d61627573652d706c7567696e2f6c6963656e7365)](https://packagist.org/packages/detain/myadmin-abuse-plugin)

Abuse handling plugin for the [MyAdmin](https://github.com/detain/myadmin) control panel. This plugin monitors IMAP mailboxes for incoming abuse complaints (spam reports, blacklist notifications, phishing alerts), matches the offending IP addresses to customer services, and automatically notifies the responsible account holders.

Features
--------

[](#features)

- **IMAP Abuse Monitoring** -- Connects to configurable IMAP mailboxes and parses abuse complaint emails using regex pattern matching to extract offending IP addresses.
- **IP-to-Customer Resolution** -- Looks up IP addresses against the server inventory and client IP pools to identify the responsible customer.
- **MailBaby Integration** -- Detects outbound mail abuse through ZoneMTA / MailBaby user matching and message ID correlation.
- **Admin Dashboard** -- Provides an admin interface for manually reporting abuse, importing UCEProtect CSV data, and importing Trend Micro blocklist entries.
- **Client Self-Service** -- Allows customers to view and respond to abuse complaints via authenticated or token-based URLs.
- **Automated Notifications** -- Sends templated email notifications to affected customers with complaint details and response links.

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

[](#installation)

Install with Composer:

```
composer require detain/myadmin-abuse-plugin
```

The plugin registers itself with the MyAdmin event dispatcher and adds:

- `system.settings` -- IMAP credential configuration fields
- `ui.menu` -- Admin menu entry for the abuse dashboard
- `function.requirements` -- Page and class autoload registrations

Usage
-----

[](#usage)

### Plugin Registration

[](#plugin-registration)

The plugin hooks are registered automatically when loaded by the MyAdmin plugin system:

```
$hooks = \Detain\MyAdminAbuse\Plugin::getHooks();
// Returns: ['system.settings' => ..., 'ui.menu' => ..., 'function.requirements' => ...]
```

### IMAP Abuse Checker

[](#imap-abuse-checker)

The `ImapAbuseCheck` class processes abuse mailboxes from cron:

```
$abuse = new ImapAbuseCheck($imapServer, $username, $password, $db);
$abuse->register_preg_match('/pattern with %IP%/', 'headers', 'ip');
$abuse->process('spam', 100);
```

### Admin Interface

[](#admin-interface)

Navigate to the abuse admin page in MyAdmin to:

- View abuse statistics (24-hour, 3-day, 7-day breakdowns)
- Submit individual abuse reports by IP
- Bulk-report multiple IPs
- Import UCEProtect CSV files
- Import Trend Micro blocklist data

Running Tests
-------------

[](#running-tests)

```
composer install
vendor/bin/phpunit
```

To generate a coverage report:

```
vendor/bin/phpunit --coverage-text
```

License
-------

[](#license)

This package is licensed under the [LGPL-2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) license.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance60

Regular maintenance activity

Popularity26

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 98.2% 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 ~864 days

Total

2

Last Release

2431d ago

Major Versions

v1.1.0 → v2.0.02019-11-05

### Community

Maintainers

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

---

Top Contributors

[![detain](https://avatars.githubusercontent.com/u/1364504?v=4)](https://github.com/detain "detain (162 commits)")[![kumar-interserver](https://avatars.githubusercontent.com/u/29834101?v=4)](https://github.com/kumar-interserver "kumar-interserver (2 commits)")[![mend-bolt-for-github[bot]](https://avatars.githubusercontent.com/in/16809?v=4)](https://github.com/mend-bolt-for-github[bot] "mend-bolt-for-github[bot] (1 commits)")

---

Tags

abusemyadminpluginspamAbuseadministration

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/detain-myadmin-abuse-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/detain-myadmin-abuse-plugin/health.svg)](https://phpackages.com/packages/detain-myadmin-abuse-plugin)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)

PHPackages © 2026

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