Panellicense

Set up the Blesta Support Manager for ticketing and email piping

Install Blesta's bundled Support Manager, build departments, wire up email piping or IMAP import, and stop the two failures that silently drop customer tickets.

7 min readUpdated 2026-07-09blesta · support-manager · ticketing · email-piping
schema: HowToschema: FAQPage

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).
  • StatusVisible 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 from noreply@.

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 asRead 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:

  1. Email the department address from an outside account.
  2. For piping, the ticket appears within seconds. For IMAP, force the cron (php /path/to/blesta/index.php cron) and confirm it lands.
  3. Reply as staff and confirm the customer receives it from the department address (not noreply@).
  4. 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?+
Almost always a missing PHP extension or a malformed pipe.php. Run php -m and confirm mailparse, iconv, and imap are loaded, then check that pipe.php has the interpreter line on line 1 and <?php on line 2 with nothing between them.
Do I need email piping or is IMAP enough?+
IMAP/POP3 is enough and simpler if you don't control the mail server, but it only polls as often as Blesta's cron runs — usually every five minutes. Piping delivers tickets instantly. Use piping when Blesta and the mailbox live on the same server.
Does the Blesta Support Manager cost extra?+
No. It's bundled with every Blesta license at no additional cost — you enable it under Settings → Company → Plugins. See the current tiers on the /blesta-license page.
Can non-clients open tickets in Blesta?+
Yes, per department. Untick 'Allow only clients to open or reply to tickets' and Blesta shows a human-verification captcha for logged-out visitors. Leave it ticked for billing queues you want restricted to known accounts.
Why do replies come from noreply instead of my support address?+
The department's 'Override from address' option is off. Enable it so outbound mail uses the department email, which also keeps customer replies threading onto the same ticket.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.