Watch a support agent answer one customer email and count the tabs: webmail in one, Perfex CRM in another, and the invoice or ticket they need in a third. Every reply means re-finding the customer record, re-checking the balance, and copy-pasting context between windows. That is the context-switching tax, and busy teams pay it dozens of times a day. A Perfex CRM email client attacks the problem at its root: it puts the inbox inside the CRM, right next to the records the email is actually about.
Full disclosure up front: we are Themesic Interactive, and we build and sell Mailbox, the module this article walks through. It is the number 2 best-seller in our catalog with 1835 sales on CodeCanyon and 4.78/5 from 41 verified CodeCanyon reviews, so read this as a guided tour with the vendor bias declared, not a neutral review.
The context-switching tax, in practice
The tax is not the two seconds a tab switch takes. It is what gets dropped in transit. An email arrives from a client; the agent answers it in webmail and never files it in the CRM, so the next colleague who opens that client's profile sees nothing. A billing question gets a cheerful reply from someone who never noticed the client has an overdue invoice, because the balance was two tabs away.
The common workarounds - BCC-to-CRM addresses, browser extensions - fail the same way: they depend on a human remembering an extra step on every single message. The structural fix is to reverse the direction: instead of pushing individual emails into the CRM, pull the whole inbox in and make the filing automatic.
What a Perfex CRM email client actually changes
Mailbox connects each staff member's own IMAP account to Perfex's admin area. Everyone gets a Gmail-style inbox inside the CRM: threaded conversations with collapsible replies, a split preview pane, archive and snooze, stars and important flags, multi-filter search, bulk actions, and three density settings (Cozy, Comfortable, Compact). Company email is centralized while inboxes stay separate and private - each user signs in with their own profile email address and maps their own Sent, Drafts, Trash, Spam and Archive folders.
The CRM side is where it earns its keep. Open any message and a sender context sidebar shows the whole relationship at a glance: company, open invoices, overdue balance, open tickets and recent conversation history, with a direct link to the customer or lead profile. From the same message you can:
- assign it to a customer, so the thread lives on that profile next to invoices, projects and tickets
- convert it to a task, with an assignee and a deadline, linked back to the conversation
- convert it to a support ticket, tagged, prioritized and routed to the right department
- link it to a lead, where a dedicated Conversation tab collects every assigned email into one history
- raise an estimate, invoice or proposal in one click, pre-filled for the linked customer or lead
Most of the filing you never do at all. Smart CRM auto-link matches the sender of every incoming message against your records and attaches it to the right customer or lead as it arrives. It is deliberately conservative: only an exact, single, active match is linked; an ambiguous address is left for a human to decide.
Automation: rules, lead capture and follow-ups
The rules engine matches on sender, subject, body or recipient, then acts inside the CRM: link the message to a client or lead, capture a brand-new lead, create a task or a support ticket, assign it to a staff member, snooze it, star it or tag it. Build the workflow once and incoming mail routes itself. Auto lead capture goes a step further: a message from an unknown sender to your sales address becomes a Perfex lead on its own, filed against the original conversation. It is careful about noise - newsletters, no-reply addresses and system notifications are skipped, existing contacts and leads are never duplicated, and a rejected lead is not recreated by the next email.
Two features target dropped conversations. Follow-up reminders let you flag a sent email with a remind-me-if-no-reply timer; if the client answers, the reminder cancels itself, and if they stay silent you get a Perfex notification at the right moment. First-response tracking gives incoming messages Due soon, Overdue or Answered in time badges against a target you set, with automated senders ignored because a newsletter is not a case to answer.
On the compose side there are reusable templates and signature management, saved replies (personal or shared, with merge tags such as {contact_firstname} and {client_company} filled from the email you are answering), a WYSIWYG editor with attachments and inline images, keyboard shortcuts, and Send Later scheduling. Color-coded tags and labels, nested folders and quick-move actions handle triage at volume.
What the sync actually does (developer notes)
Under the hood Mailbox runs on Webklex/php-imap v4.x. By default it performs a one-way sync: unread inbox mail is fetched into Perfex in the background via Perfex's cron, and actions like Star, Trash and Important are stored locally in the database along with attachments. A manual sync endpoint pulls mail on demand. Optionally, per-staff read status sync writes the read state back to your mail server, so opening a message in Perfex marks it read in Gmail or Outlook too.
Each sync mode (unread only versus fetch all) keeps its own checkpoint, so toggling the setting does not skip older messages or re-import already-synced mail. UIDVALIDITY tracking stops mailbox rebuilds and migrations from silently skipping new mail. Message bodies are fetched once per cycle, batch processing covers the initial sync of large inboxes, and database indexes plus full-text search across subject and body (with an automatic fallback on older MySQL versions) keep the list view responsive.
Authentication is OAuth2 for Gmail and Outlook - tokens encrypted and refreshed automatically, Outlook handled through a single Exchange Online resource with SMTP XOAUTH2 sending - and AES-256-CBC encryption where passwords are still used. The module has been through a security audit and hardened on the back of it: staff mail is strictly scoped to its owner across every view and action, email content is sanitized against a strict allowlist, attachments are served through an authenticated download-only endpoint that cannot execute, state-changing actions require POST, and the OAuth flow validates an anti-CSRF state token.
Who benefits, and who does not
The teams that gain the most already live in Perfex all day. Support agents get ticket conversion and first-response badges in the same pane where they read mail. Salespeople get lead linking, auto-captured leads, the Conversation tab, follow-up reminders that cancel themselves, and every linked email written to the lead's native activity feed. Anyone who invoices gets the overdue balance staring at them before they hit reply.
Honest limits: if your team spends its day in Gmail or Outlook and only opens the CRM weekly, moving the inbox into Perfex solves a problem you do not have. The default sync is one-way - beyond the optional read-status write-back, stars and deletions live in Perfex's database, not on your mail server. POP-only accounts are not supported; you need IMAP with SSL/TLS. Only Gmail and Outlook get OAuth2; with any other provider, an account using two-factor authentication needs it disabled before the mail server will accept the connection. A correctly configured Perfex cron is a hard requirement, since fetching happens in the background, and outbound mail goes through Perfex's own outgoing email settings, with sent messages stored in the module's Sent folder.
Key facts
| Fact | Detail |
|---|---|
| Current version | 2.3.1 (updated 2026-08-03) |
| Requires | Perfex CRM, PHP 7.4 or newer, working cron |
| Mail protocol | IMAP over SSL/TLS (POP not supported) |
| Authentication | OAuth2 for Gmail and Outlook; AES-256-CBC for stored passwords |
| Track record | 1835 sales on CodeCanyon, 4.78/5 from 41 verified CodeCanyon reviews |
Mailbox is a one-time purchase, with a yearly Pro license for teams that want lifetime support.
Links
If you have questions about the sync model, the rules engine, or whether this fits your setup, ask in the comments - we read all of them.
Top comments (0)