Difference between revisions of "Email Piping"

From WHMCS Documentation

(Solution For CPanel x3 Theme)
(Local Delivery Failed Error Message)
Line 43: Line 43:
 
"|/usr/local/bin/php -q /home/username/public_html/whmcs/pipe/pipe.php"
 
"|/usr/local/bin/php -q /home/username/public_html/whmcs/pipe/pipe.php"
  
===Issues With CPanel x3 Theme ===''Italic text''
+
===Delivery Failed Error Message With CPanel x3 Theme ===
 
Since CPanel x3 automatically prefixes user input with hashbang and path, you do not need to include it.
 
Since CPanel x3 automatically prefixes user input with hashbang and path, you do not need to include it.
  

Revision as of 00:05, 2 November 2008

You need to begin by first configuring your support ticket departments. You do this by going to Configuration > Support Departments. Here you need to add each of your departments and the email address assigned to each.

Email Piping Method

This method is recommended if you use cPanel or DirectAdmin and are piping in emails form the same domain your WHMCS is installed on.

To use this method, go to the forwarders section of your control panel and setup the forwarder using the command as given on the Support Departments page which will look something like this " | php -q /home/username/public_html/whmcs/pipe/pipe.php" to forward each of your emails into the WHMCS file. If using DirectAdmin, you must enter the command enclosed in quotes "" for it to be accepted. If you experience problems when using cPanel getting it to accept the command we recommend switching to and using the x2 theme while setting it up. If using the x3 theme, you only need to enter "public_html/whmcs/pipe/pipe.php" without the quotes.

Cron Piping Method

This method is recommend if you use Plesk or if you are wanting to pipe emails from domains other than just where your WHMCS system is installed.

To use this method simply enter your pop email access details in Configuration > Support Departments and then setup a cron job to run the pop.php file using the command given on the Support Departments page to run every few minutes (every 5 minutes is recommended).

Your PHP build needs IMAP support for this method to function correctly.

Testing the Email Piping

Once the piping is setup, you should try sending a test email to it. If the piping has been setup correctly, then a new ticket should be opened (it can take up to 5 minutes if using the cron method). For testing puposes, you should not use your admin email address to send the message as emails from admin email addresses are expected to be replies to tickets only and won't open new tickets.

Should a ticket not be created when sending in an email, then check in Utilities > Ticket Mail Import Log. If the message was received by WHMCS it will be listed here with the reason why it failed to create a ticket. If the message you sent is not listed here, then the forwarder you setup previously is not working correctly and WHMCS didn't receive the message.

If you get the error message "Ticket ID Not Found" this means you are trying to open a support ticket from your admin email address. Admins can only reply to tickets, not open new ones so submit a ticket from any other email address and it should be accepted.

Spam Control

Email piping raises the problem of Spam sent via email so to combat this, WHMCS has spam control filters which you can use. See the Spam Control article for more info.

Common Problems

Local Delivery Failed Error Message

If you receive an error that states local delivery failed like the error shown below when sending an email in to your piped email address then the forwarder entry is not correct and the message is not being sent to the pipe.php script.

pipe to |/home/username/public_html/whmcs/pipe/pipe.php generated by support@yourdomain.com local delivery failed

To correct this, try the following variations of the email forwarder command:

"|/usr/bin/php -q /home/username/public_html/whmcs/pipe/pipe.php"

"|/usr/local/bin/php -q /home/username/public_html/whmcs/pipe/pipe.php"

Delivery Failed Error Message With CPanel x3 Theme

Since CPanel x3 automatically prefixes user input with hashbang and path, you do not need to include it.

For example, just use: "public_html/whmcs/pipe/pipe.php" (without the quotes)

Also, make sure you chmod pipe.php to 754 or you will continue to recieve failed delivery messages.

Why is email piping with Direct Admin sending the email twice?

To fix this problem you need to remove or comment out "unseen" from your exim.conf.

Example:

virtual_aliases_nostar:

driver = redirect
allow_defer
allow_fail
data = ${if exists{/etc/virtual/${domain}/aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/aliases}}}}
file_transport = address_file
group = mail
pipe_transport = virtual_address_pipe
retry_use_local_part
#unseen
#include_domain = true

Reference: Directadmin forum thread

Ticket ID Not Found

This means you are using an email address assigned to an administrator to send your email. Administrators can only reply to tickets, and not open new ones, hence the Ticket ID not found error message. To test, you must send an email from an email address that is not assigned to an admin in your WHMCS system.

Blocked Potential Email Loop

This is the error message you get when an email is sent from a department email address and so replying would cause a loop.

Unregistered Email Address

Seeing this error means you have selected to only allow registered clients to open tickets in this department. You must untick the Clients Only checkbox in Configuration > Support Departments > Department Name to allow the public to create tickets.