Análise inteligente de conversas por e-mail para GLPI 11
Combina automaticamente e-mails relacionados em um único chamado, evitando duplicatas.
| Funcionalidade | Descrição |
|---|---|
| 🔁 Detecção de Duplicatas | Bloqueia chamados duplicados quando o mesmo e-mail é recebido múltiplas vezes |
| 💬 Acompanhamento Automático | Respostas a chamados existentes são adicionadas automaticamente como acompanhamentos |
| 🔗 Vinculação de Chamados | Ao responder a um chamado fechado, cria um novo chamado vinculado |
| 🧵 Suporte a Thread-Index | Análise do cabeçalho Thread-Index do Microsoft Exchange para melhor rastreamento |
| 📊 Painel de Estatísticas | Painel visual com estatísticas em tempo real sobre e-mails processados |
| 🛡️ Filtragem de Domínio | Suporte a Whitelist e Blacklist para priorizar ou ignorar domínios específicos |
| ⚕️ Health Check | Monitoramento em tempo real de conexões e falhas de Coletores de E-mail |
| 🔔 Alertas Inteligentes | Dispara notificações nativas do GLPI quando excesso de duplicatas são bloqueadas |
| ⏱️ Limpeza Automática | Integração com CronTask nativa do GLPI para manutenção agendada |
| 🌍 Pronto para i18n | Interface totalmente traduzível (pt_BR incluído) |
| 🛠️ Limpeza via CLI | Comando de console para limpar registros órfãos e estatísticas antigas |
| Requisito | Versão |
|---|---|
| GLPI | >= 11.0.0 e < 11.1 |
| PHP | >= 8.2 |
| Banco de Dados | MySQL 8.0+ / MariaDB 10.5+ |
- Baixe a última versão
- Extraia a pasta
mailanalyzerno diretórioplugins/do seu GLPI - Vá em Configurações > Plugins no GLPI
- Clique em Instalar e depois em Habilitar
Navegue até a aba Configurações > Geral > Mail Analyzer.
| Opção | Descrição |
|---|---|
| Usar Thread-Index | Ativa suporte ao cabeçalho Thread-Index para melhor agrupamento de conversas |
| Whitelist de Domínios | Domínios que devem ignorar certos bloqueios (ex: @empresa.com.br) |
| Blacklist de Domínios | Domínios que são completamente ignorados (ex: @spam.com) |
Intelligent email conversation tracking for GLPI 11
Automatically combines related emails into a single ticket, preventing duplicates.
| Feature | Description |
|---|---|
| 🔁 Duplicate Detection | Blocks duplicate tickets when the same email is received multiple times |
| 💬 Auto Followup | Replies to existing tickets are automatically added as followups instead of creating new tickets |
| 🔗 Ticket Linking | When replying to a closed ticket, creates a new linked ticket |
| 🧵 Thread-Index Support | Microsoft Exchange Thread-Index header analysis for improved conversation tracking |
| 📊 Statistics Dashboard | Visual dashboard with real-time stats on processed emails, duplicates blocked, and followups created |
| 🛡️ Domain Filtering | Whitelist and Blacklist support to prioritize or ignore specific sender domains |
| ⚕️ Health Check | Real-time connection and failure monitoring for all active GLPI Mail Collectors |
| 🔔 Smart Alerts | Triggers native GLPI notifications when excessive duplicates are blocked |
| ⏱️ Auto Cleanup | Native GLPI CronTask integration for scheduled background maintenance |
| 🌍 i18n Ready | Fully translatable interface structured for PO/MO files (pt_BR included) |
| 🛠️ CLI Cleanup | Console command for purging orphaned records and old statistics |
| Requirement | Version |
|---|---|
| GLPI | >= 11.0.0 and < 11.1 |
| PHP | >= 8.2 |
| Database | MySQL 8.0+ / MariaDB 10.5+ |
- Download the latest release
- Extract the
mailanalyzerfolder into your GLPIplugins/directory - Navigate to Configuration > Plugins in GLPI
- Click Install then Enable
glpi/
└── plugins/
└── mailanalyzer/
├── front/
├── inc/
├── hook.php
├── setup.php
└── logo.png
Navigate to Configuration > General > Mail Analyzer tab.
| Option | Description |
|---|---|
| Use Thread-Index | Enable Microsoft Exchange Thread-Index header support for improved conversation grouping |
| Whitelist Domains | Domains that should bypass certain blocks (e.g., @trust.com) |
| Blacklist Domains | Domains that are completely ignored (e.g., @spam.com) |
The same configuration tab includes a real-time statistics dashboard showing:
- 🚫 Duplicates Blocked — Emails already received that were rejected
- 💬 Followups Created — Replies merged into existing tickets
- 🔗 Tickets Linked — New tickets linked to closed ones
- 🎫 New Tickets — Fresh tickets created from email
Filter stats by 7 days, 30 days, 90 days, or all time.
flowchart TD
A[📨 Email arrives / E-mail chega] --> B{Message-ID in DB?}
B -->|Yes| C[🚫 Block duplicate / Bloquear duplicata]
B -->|No| D{References or Thread-Index match?}
D -->|Yes| E{Ticket still open?}
E -->|Yes| F[💬 Create followup / Criar acompanhamento]
E -->|No| G[🔗 Create linked ticket / Criar chamado vinculado]
D -->|No| H[🎫 Create new ticket / Criar novo chamado]
- Email arrives via GLPI Mail Collector
- Message-ID check — If the email was already processed, it's blocked as duplicate
- References/Thread-Index check — Analyzes email headers to find related tickets
- Smart routing — Adds as followup (open ticket), creates linked ticket (closed), or creates new ticket
# Purge orphaned message_id records (tickets that no longer exist)
php bin/console mailanalyzer:cleanup
# Also purge stats older than 90 days / Também limpa estatísticas com mais de 90 dias
php bin/console mailanalyzer:cleanup --stats-days=90
# Dry run — see what would be deleted without making changes
php bin/console mailanalyzer:cleanup --dry-runmailanalyzer/
├── front/
│ ├── config.form.php # Configuration page entry point
│ └── stats.php # Native AJAX endpoint for dashboard filters
├── inc/
│ ├── mailanalyzer.class.php # Core email analysis logic
│ ├── mailcollector.class.php # Extended mail collector with Thread-Index
│ ├── config.class.php # Configuration form & stats tab
│ ├── stats.class.php # Statistics tracking & dashboard
│ ├── crontask.class.php # Native GLPI Cron Task for housekeeping
│ └── cleanupcommand.class.php # CLI cleanup command
├── locales/
│ └── pt_BR.po # i18n Translation Dictionary (pt_BR)
├── hook.php # Install/uninstall hooks
├── setup.php # Plugin registration & hooks
├── logo.png # Plugin icon
├── mailanalyzer.xml # Plugin metadata
└── README.md
This plugin is licensed under the GNU General Public License v2.0 or later.
- Olivier Moron — Original author
- Kadosh — GLPI 11 Compatibility & Enhancements
- Contributors — See GitHub contributors
Made with ❤️ for the GLPI community
