How to setup perfect email and WHM/cPanel Servers

I have been supporting clients with their email accounts for over 20 years now and one thing that I have come to realise above-all is that people need reliable email.

The journey of realisation came after about 6 months of battling with IP reputation management, blacklist monitoring, exim-log analysis, PHP mail script scanning and on top of all that don’t get me started with SPF and DKIM! Especially when you throw CloudFlare DNS management into the mix of things it gets really really complicated, enormously time consuming and quite obviously really frustrating for customers when their email isn’t perfect.

Here’s what customers expect:

  • Email that doesn’t bounce back with SPAM blacklist notifications
  • Email that is delivered instantly every time they send email
  • Email that works on their mobile phone and desktop pc
  • Email that doesn’t randomly disconnect and reconnect

In order to get close to a consistently perfect email configuration and management, routing takes a lot of effort as I wrote in the opening paragraph. It’s virtually a full-time job.

I had almost resigned myself to the fact I wasn’t going to get email perfect every time and just then an absolutely brilliant solution came my way.

The solution

I discovered it was possible to use third-party SMTP suppliers like sendinblue.com and smtp2go.com and by configuring EXIM on your WHM installation (instructions below) you can bypass your localhost mail relay and delegate all outbound emails to be sent via this third-party transport, and I am telling you now, the instant you do that you gain strength and power as a web hosting or server management company, you gain instant and real-time insights into the mail sending processes and you instantly find out if there are any problems.

I have about 200 web hosting clients hosted on a server setup like this and it hasn’t been quieter, quite literally since I configured EXIM to use SendinBlue I have not had a single phone call or support ticket with regards to email.

Setup External SMTP Relay For WHM Cpanel Servers

Step 1: Sign up with a trial account by visiting SendinBlue.com and get your SMTP login credentials:

Step 2: On your WHM interface search for EXIM and Open the Exim Configuration Manager and make sure you click on ADVANCED EDITOR

Step 3: Configuring EXIM (The hardest part but not that hard, pay attention)

You can configure any SMTP service here, it doesn’t have to be sendinblue.com all you need to do is adjust the below instructions to include your credentials instead of mine.

Go to Section: AUTH and add below lines of code:

sendinblue_login:

driver = plaintext

public_name = LOGIN

client_send = : USERNAME : PASSWORD

Go to Section: ROUTERSTART and add below lines of code:

send_via_sendinblue:

driver = manualroute

domains = ! +local_domains

transport = sendinblue_smtp

route_list = * smtp-relay.sendinblue.com

Go to Section: TRANSPORTSTART and add below lines of code:

sendinblue_smtp:

driver = smtp

port = 587

hosts = smtp-relay.sendinblue.com

hosts_require_auth = smtp-relay.sendinblue.com

Finally issue the following shell command or restart EXIM from WHM

/etc/init.d/exim restart

Important Update and last word

Since writing this article I have stopped using sendinblue.com because of spamming concern with 1 out of about 300 accounts they put a block on the entire sending account, this caused all of my server email to get blocked, and what’s worse they did not keep a copy of these emails for future sending. It was bad!

I have created a handy list of IMAP service providers that you can use to relay email using the method descrived in this email. That list is here.

Share: