johnnyq 2204bd52f4 Rewrite email parser using ImapEngine, harden processing loop
Replace webklex/php-imap with directorytree/imapengine in the ticket
email parser. ImapEngine is pure PHP over sockets.

Parser improvements:
- Wrap per-message processing in try/catch so one malformed email
  can't abort the run; failures are flagged and logged with UID
- Query unseen + unflagged so previously-failed (flagged) messages
  are no longer re-processed on every cron run
- Skip vacation/auto-responder emails (RFC 3834) to prevent mail
  loops with the ticket auto-reply
- Cap messages per run (50) and attachment size (15MB); inline
  images over 2MB are stored as attachments instead of base64-embedded
  in ticket details
- Atomic lock file creation
- preg_quote() the ticket prefix in subject matching
- Dedupe CC watchers and exclude the sender
- Map webklex 'tls' encryption setting to STARTTLS for compatibility

NDR/DSN parsing now walks MIME parts via the underlying
zbateson parser instead of relying on attachment extraction.
2026-06-12 16:56:39 -04:00
2026-04-13 13:19:12 -04:00
2026-05-21 10:38:56 -04:00
2026-05-21 10:38:56 -04:00
2024-09-20 23:32:05 +01:00
2025-09-24 08:39:45 +01:00
2026-02-26 10:24:44 +00:00
2025-12-10 08:54:24 +00:00

Contributors Stargazers Commits GPL License

ITFlow

IT documentation, ticketing and accounting system for small MSPs.

View demo
Username: demo@demo.com | Password: demo

About · Docs · Forum · Report Bug · Request Feature · Security

About

A comprehensive, free & open-source documentation, ticket management, and accounting platform.

ITFlow

The Problem

  • You're a small but busy managed service provider with 101 things to do. Information about your clients is unorganised, unstructured and outdated.
  • For some work, you seem to spend longer looking for the relevant documentation than actually working on the issue/project.
  • On top of the technical day to day, you also have to take care of the financial side of the business - consistent pricing, quotes/invoicing, and accounting.

The Solution: ITFlow

  • ITFlow consolidates common MSP needs (documentation, ticketing and billing) into one unified system.

Getting Started

Self Hosting

  • The best installation method is to use the install script on Ubuntu/Debian. A video walk through is available here.
  wget -O itflow_install.sh https://github.com/itflow-org/itflow-install-script/raw/main/itflow_install.sh
  bash itflow_install.sh
  • Other manual installation methods are available in the docs.

Managed Hosting

Key Features

  • Client documentation - assets, contacts, domains, docs, files, passwords, and more
  • Accounting / Billing - finance dashboard, quotes, invoices, accounting, expenses, etc
  • Client Portal - self service quote/invoice/ticket management for clients
  • Alerting - account balance, invoices, domain/SSL renewals
  • Completely free & open-source alternative to ITGlue and Hudu

Roadmap / Future to-do

We track the implementation of confirmed features and bugs via TaskFlow. Use the forum to request features or raise bug reports.

Support & Contributions

Forum

For help using ITFlow, bugs, feature requests, and general ideas / discussions please use the community forum.

Contributing

We have temporarily paused PRs from the community.

Contributors

Supporters

Were incredibly grateful to the organizations and individuals who support the project - a big thank you to:

  • CompuMatter
  • F1 for HELP
  • digiBandit
  • JetBrains (PhpStorm)

License

ITFlow is distributed "as is" under the GPL License, WITHOUT WARRANTY OF ANY KIND. See LICENSE for details.

Security

  • As of 2025, we now have a stable release of the project.
  • Whilst we are confident in the safety of the code, no system is risk-free. Nearly all software has bugs. Use your best judgement before storing highly confidential information in ITFlow.
  • If you have a security concern, privately report it here.
Description
No description provided
Readme 130 MiB
Languages
PHP 90.9%
JavaScript 8.9%
CSS 0.2%