Email Piping: Google Apps
This article covers how to go about configuring the support ticket system to enable importing of new tickets and replies from e-mail accounts hosted with GSuite (formerly known as Google Apps).
Before beginning, we recommend having WHMCS set up and working properly on your web server so as to avoid any unexpected issues.
Contents
Configuration
Follow these steps:
- Create a GSuite account at https://gsuite.google.com/
- Verify the domain where WHMCS is installed with GSuite and complete their setup process.
- Log into Admin Console at https://gsuite.google.com/ and create appropriate email accounts that will be using WHMCS ticketing system and receiving tickets and replies.
- For all accounts that will be receiving tickets, be sure to enable POP3 and IMAP in Google Mail's webmail interface: Enable IMAP Enable POP3
- Please ensure that Imap-SSL/Pop3-SSL in the PHP installation on the server. Such a change (if needed) will usually require the hosting provider or system administrator to do this. The reason for enabling this is because GSuite services will only accept secured connections.
- Under Setup > Support > Support Departments in WHMCS, create at least one department and configure the email account assigned to it like so:
hostname: pop.gmail.com port: 995 user: youremail@yourdomain.com pwd: yourpassw0rd
- Create a cron job to trigger the /crons/pop.php file every 5 minutes. We have guides on creating cron job in most web hosting control panels here: https://docs.whmcs.com/Cron_Configuration
Once this is done, any new e-mails to the support e-mail addresses should be imported. If they are not, please follow the troubleshooting steps below to determine the cause and correct it as needed.
If you complete these steps then this should work wonderfully.
Troubleshooting
If e-mails are not being imported from GSuite as expected, there are some steps that can be taken to debug and correct this.
The first step is to check the ticket import logs in Utilities > Ticket Mail Import Log in the WHMCS admin area and look for any entries for the e-mails in question. If there are no applicable entries present, it usually indicates that the pop.php cron job isn't set up or is unable to successfully import the e-mails due to one or more of the below reasons:
- Verify that Pop3 and IMAP is enabled for the applicable Gsuite inbox as described in the Configuration section above and that the /crons/pop.php cron job has been created and is running every 5 minutes.
- If the cron job is running, view the output that it is creating (depending on the server, the cron job to email its results to an email address) and see if an error is being generated.
- If that command succeeds and no other firewall restrictions are in place, then the connection is unobstructed on your server side.
Connection refused
- Check that your server's firewall isn't blocking traffic to google.
- 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
Too many login failures
- Double-check the username and password entered on the Support Department configuration (Setup > Support > Support Departments > Edit) are correct.
- Adjust your Gmail account settings to allow less secure apps. This allows external applications such as WHMCS to authenticate to your account via username and password.
- Check the Recent Activity page in Gmail to see whether the login attempt was blocked at their end: ‘Suspicious sign in prevented’ email.
Can not authenticate to POP3 server
Refer to the troubleshooting steps for #Too many login failures
Password command failed
Refer to the troubleshooting steps for #Too many login failures
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-mails 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).