Blesta ships a full helpdesk in the box — the Support Manager plugin. It gives you ticket departments, a knowledgebase, predefined responses, and inbound email that turns replies into tickets. Most hosts running Blesta as their billing platform never enable it and pay for a separate helpdesk they don't need.
This walks through installing the plugin, building departments, choosing between email piping and IMAP/POP3 import, and fixing the two failure modes that quietly swallow customer email: the missing PHP extensions and the misformatted pipe.php file.
Install the plugin
Support Manager is bundled but not active on a fresh install. Enable it under Settings → Company → Plugins → Available, find Support Manager, and click Install. That adds a Support menu to the staff area and a Support section to the client portal.
Inbound email parsing needs three PHP extensions on the box running Blesta:
php -m | grep -Ei 'mailparse|iconv|imap'
If mailparse or imap is missing, tickets emailed in are dropped without an error in the UI. On a cPanel server install them through WHM → EasyApache 4 (tick the mailparse, iconv, and imap extensions for your PHP version and rebuild the profile). iconv is usually already compiled in.
Build your departments
A ticket belongs to a department, and the department decides who can open tickets, what email address handles them, and how mail is collected. Go to Support → Departments → Add Department.
The fields that matter:
- Name and Description — shown to clients when they open a ticket.
- Email — the address this department owns. It must match the mailbox you actually monitor, because outbound replies use it and inbound import reads it.
- Default Priority — applied to tickets that arrive without one (email tickets always do).
- Status — Visible shows it in the client portal; Hidden keeps it staff-only for things like an internal abuse queue.
- Allow only clients to open or reply to tickets — restricts the department to known Blesta accounts. Leave it on for a billing queue; turn it off for pre-sales, which surfaces a Require Human Verification captcha for logged-out visitors.
- Override from address — sends replies from the department email instead of the company default. Turn this on so
billing@replies don't come fromnoreply@.
Create at least two: Support (technical, clients-only) and Sales (open to the public). Keep the count low — every department is another mailbox and another cron-monitored inbox.
Wire up inbound email
Two ways to get customer email into tickets. Pick one per department.
Option A — email piping (instant)
Piping hands each message to Blesta the moment it arrives, so tickets appear with no delay. Point a forwarder or the mailbox's pipe target at:
~/plugins/support_manager/pipe.php
On cPanel, set this as a pipe-to-program forwarder for the department address, or use the alternative router form if your MTA won't call a script directly:
index.php plugin/support_manager/ticket_pipe/index/1
The trailing 1 is the company ID — bump it for addon companies. The pipe.php file has one rule that trips people up: the interpreter line (#!/usr/bin/php) must be line 1 and <?php must be line 2, with nothing between them. A blank line there breaks parsing for the whole mailbox.
head -2 ~/plugins/support_manager/pipe.php
Set the script executable so the MTA can run it:
chmod 755 ~/plugins/support_manager/pipe.php
Use 755 under suPHP or mod_lsapi; only reach for 777 if the panel forces it, and never on a shared box.
Option B — IMAP/POP3 import (cron-polled)
If you can't pipe — a hosted mailbox on another provider, say — Blesta polls the inbox on a schedule instead. In the department, set Email Handling to IMAP or POP3 and fill in:
- Host, User, Pass, Port — the mailbox credentials.
- Security — SSL, TLS, or None, matched to the port (993 IMAP/SSL, 995 POP3/SSL).
- Box Name — the folder to read, usually
INBOX. - Mark Messages as — Read or Deleted. IMAP can mark read and leave mail in place; POP3 always deletes.
Import runs on the Download Tickets automation task, so it only works if Blesta's cron is configured and running. No cron, no import. Polling adds latency equal to your cron interval — typically five minutes — which is why piping wins when you control the mail server.
Priorities, statuses, and predefined responses
Ticket statuses drive the automation: Open, In Progress, On Hold, Closed, and (from v2.14) Trash. Two housekeeping tasks depend on them:
- Close Tickets — auto-closes a ticket after a set number of days when the last reply was from staff and the status isn't In Progress. Attach a predefined response so the customer gets a "we're closing this, reply to reopen" note.
- Delete Trash Tickets — purges tickets sitting in Trash after a configured number of days.
Both run only when their automation tasks are enabled under Settings → Company → Automation — the same cron that drives billing and IMAP import. Build reusable replies under Support → Responses; they insert into ticket replies and populate auto-close messages. Replies support Markdown, so you can format steps and links without raw HTML.
Verify it end to end
Before you point customers at it, prove the loop:
- Email the department address from an outside account.
- For piping, the ticket appears within seconds. For IMAP, force the cron (
php /path/to/blesta/index.php cron) and confirm it lands. - Reply as staff and confirm the customer receives it from the department address (not
noreply@). - Reply back into that email and confirm it threads onto the same ticket rather than opening a new one.
If step 4 opens a duplicate, the department Email doesn't match the monitored mailbox, or the outbound From was overridden to an address you don't import.
FAQ
Why are emailed tickets not showing up in Blesta?+
Do I need email piping or is IMAP enough?+
Does the Blesta Support Manager cost extra?+
Can non-clients open tickets in Blesta?+
Why do replies come from noreply instead of my support address?+
Next steps
- Configure the Blesta cron so IMAP import and auto-close actually fire.
- Set up cPanel provisioning in Blesta to link tickets to live accounts.
- Compare Blesta and WHMCS for 2026 if you're still choosing a billing platform.