Email Piping: Google Apps

From WHMCS Documentation

Revision as of 19:47, 13 October 2008 by WisTex (talk | contribs)

This article covers how to go about configuring your WHMCS installation's Support Ticketing feature along with Google Apps Hosted Email Service for Domains.

It is assumed that you already have your WHMCS installation set up and working properly on your web server. If so then you are ready to go!

Follow these steps:

  1. Create a google app acct for your domain
  2. Verify your domain for Google
  3. Log into Google Control Panel for your domain and create 
     appropriate email accounts  that will be using WHMCS ticketing
     system and receiving tickets. 
  4. For all accounts that will be receiving tickets, be sure to enable 
     POP3 and IMAP in  Google Mail's webmail interface.
  5. Adjust your mx records on your webserver to redirect your email 
     service to google.
  6. Here's one of the "gotchas" in getting this set up.  You must enable 
     Imap-SSL/Pop3-SSL with your webserver's php installation.  Many 
     times you will need to contact your hosting providers to do this for
     you.  The reason for that is because  Google Mail services will only 
     accept secured connections.
  7. In WHMCS, in support depts, Create a department and configure 
     the email account  assigned to it like so:
     hostname: pop.gmail.com
     port: 995
     user: youremail@yourdomain.com
     pwd: yourpassw0rd
  8. In the account you set up in WHMCS in support dept, make sure to
     go into  google settings  to enable both IMAP and POP.
  9. Set up your cron job within your Web Hosting control panel 
     (Plesk, cPanel, Direct Admin etc.):
     */5 * * * * php -q /home/username/public_html/whmcs/pipe/pop.php

If you complete these steps then this should work wonderfully.

There are a few troubleshooting steps one can take in troubleshooting this, if your set up isn't working properly.

  1. Check your ticket import logs in your WHMCS installation: Utilities > Ticket Mail Import Log

What you are looking for here is to see if your Cron Job is attempting any import at all. If you don't see anything here then your cron job is not successfully attempting a ticket import.

  1. Verify that, for your google email account you created, you have enabled both Pop3 and IMAP.
  2. Verify that you cron job has been created and is running.
  3. If the cron job is running, view the emails that your cron job is creating (you can configure your cron job to email its results to an email address) and see if an error is being generated.

An Error Occurred: Can't connect to gmail-pop.l.google.com,995: Connection refused and Host: pop.gmail.com Email: info@yourdomain.com An Error Occurred: Too many login failures

  1. Check that your server's firewall isn't blocking traffic to google.
  2. To make absolutely sure that your server's firewalls are not blocking your connection attempts, run this telnet command from your server: telnet gmail-pop.l.google.com 995

This can be another 'gotcha' as well. Often times this is overlooked by users and, also, server admins. If that command succeeds and no other firewall restrictions are in place, then your connection is unobstructed on your server side.

  1. If you are still having issues after verifying the suggested troubleshooting steps above, then you will need to contact google or visit their discussion forums for Google Apps. It is possible they may be blocking your server from accessing their mail servers.

Final thoughts: WHMCS and Google Apps do play well together and it does work, regardless of what version of Google Apps you are using: Standard, Premier or Education. If you get them working together, you'll be a happy camper. Just be diligent in your troubleshooting.

Workaround for those without SSL:

Create another POP3 e-mail account at a different domain name outside Google Apps (that does not require SSL to pick up via POP3), and then have your Google Apps e-mail forward to that e-mail address. Then in WHMCS use POP3 to pickup your mail at the POP3 account that does not require SSL. The user will never notice since they send all e-mailed to your Google Apps address, and receive e-mails "from" your Google Apps address (or whatever address you have assigned in WHMCS for that support department).