This document is copyrighted and not intended for distribution outside of http://www.touchsupport.com. By copying or reproducing this document, you are violating copyright and intellectual property laws.
Author: David Lindahl - Touch Support, LLC - 2007-01-25

DISCLAIMER:
These procedures worked for two separate test servers with the latest Zend/PHP/Apache/Exim/cPanel with somewhat standard configurations. Touch Support is not responsible for any damage to your helpdesk or server resulting from the performance of these operations.
TEST CASES:
PASS (Legitimate Ticket):
1. Email your helpdesk from an off-server account as you normally would when opening a ticket.
2. Confirm that cron processed the email either via /var/log/cron or by checking the size of your inbox file (should be 0) or that your maildir directory is empty.
3. Login to eSupport's staff or general area to make sure the ticket is opened in the correct queue.
4. If you're using v3, check to make sure you received the auto-response with ticket login details.
5. Reply to the ticket from eSupport, then check the email account you used to open the ticket to ensure that the reply is received and if you're using v2 that the reply contains ticket login information.

FAIL (SPAM Ticket):
1. Email your helpdesk from an off-server account as you normally would when opening a ticket, only make sure you use a subject of ****SPAM*****
2. Confirm that cron processed the email either via /var/log/cron or by checking the size of your inbox file (should be 0) or that your maildir directory is empty.
3. Login to eSupport's staff or general area to make sure the ticket did not make it past your parser rule.

cPanel + eSupport v2 + SpamAssassin How-To
(Should be noted that the user will not get an instant auto-response with ticket login details, these are only
sent when a staff member responds, however, it doesn't do the user much good to check the status of a
ticket that has no staff response).

  1. Remove any previous forwarders for eSupport pipes via cPanel or /etc/valiases/yourdomain.com
  2. Create a regular email account in cPanel (e.g. sales@yourdomain.com)
  3. Setup SpamAssassin for your domain
    Make sure to rewrite the subject headers with ****SPAM*****
    I used an SA setting of 4 for my test desk, which might be strict, however, if a user is unable to get past SA, he or she
    can always open a ticket directly through the desk via http://
  4. Visit eSupport's Settings -> Email
    Setup an email handler for sales@yourdomain.com
    use the IMAP method
    (don't worry, this will clear the sales@ inbox when eSupport checks mail)
  5. Visit eSupport's Settings -> Mail Parser
    Add a new rule:
    if subject is like ****SPAM*****
    Delete Ticket
  6. From the shell: chmod 755 /home/PATH/TO/ESUPPORT/admin/pop3functions.php
  7. Add a cron to check your sales@yourdomain.com inbox:
    crontab -u YOURDOMAINUSER -e
    */5 * * * * /usr/local/bin/php /home/PATH/TO/ESUPPORT/admin/pop3functions.php 2>&1 > /dev/null

cPanel + eSupport v3 + SpamAssassin How-To
(Should be noted that the user will get an instant auto-response with ticket login details, these are only
sent when a staff member responds, however, it doesn't do the user much good to check the status of a
ticket that has no staff response).

  1. Remove any previous forwarders for eSupport pipes via cPanel or /etc/valiases/yourdomain.com
  2. Create a regular email account in cPanel (e.g. sales@yourdomain.com)
  3. Setup SpamAssassin for your domain
    Make sure to rewrite the subject headers with ****SPAM*****
    I used an SA setting of 4 for my test desk, which might be strict, however, if a user is unable to get past SA, he or she
    can always open a ticket directly through the desk via http://
  4. Visit eSupport's /admin/ section -> Click on Mail Parser -> Manage Email Queues -> Insert Email Queue
    Setup an email handler for sales@yourdomain.com, use the POP3 method, make sure the port is 110
    Enable the auto-responder option
    Disable Registration Required
  5. Visit eSupport's /admin/ section -> Click on Mail Parser -> Insert New Rule
    Add a new rule:
    if subject contains ****SPAM*****
    Ignore Ticket
  6. Click on Scheduled Tasks -> enable POP3/IMAP Fetch
    Then click 'RUN'
  7. Add a cron to check your sales@yourdomain.com inbox:
    crontab -u YOURDOMAINUSER -e
    */5 * * * * /usr/bin/wget -O /dev/null http://www.YOURDESKDOMAIN.com/ESUPPORTPATH/cron/index.php?_t=parser >/dev/null 2>/dev/null