How to send transactional emails via MXRoute & WP SMTP

It’s well known that you should separate your email server and webhosting server. Sometimes you may want to go even further and separate your transactional email server as well. Typically most people use SendGrid, Mailgun, or SendInBlue’s free tier but what if you wanted to host your own on MXRoute? That’s what this tutorial is for.

Step 1: Get an MXRoute account

Obviously, you need an MXRoute account to get started. Sign up here.

You’ll have to link the account to a domain. If you’re like me and want to use one domain for all transactional emails, get a throwaway domain that’s not actually important for anything else.

Step 2: Set up an email account

Obviously, the emails need to come from somewhere. Set up a throwaway email address that you won’t be using for anything else, like

If it’s your first time with MXRoute, here are the steps:

  1. Login to MXRoute
  2. Navigate to My Services > Your package > Login to DirectAdmin (note your DirectAdmin URL)
  3. From there, Email Manager > Email Accounts > Create Account

Once you’ve set it up, you’ll get the POP3/SMTP details for that account. Save it somewhere, with your password as well of course.

Step 3: Install WP SMTP plugin

Install WP SMTP in your website(s), and use options below:

  1. From Email:
  2. From Name: Pick a name
  3. Mailer: Other SMTP
  4. SMTP Host: The address of your MXRoute server, found in Step 2 part 2, most probably
  5. Encryption: TLS
  6. SMTP Port: 587
  7. Authentication: On
  8. SMTP Username: (from step 2)
  9. SMTP Password: LEAVE EMPTY


Step 4: Edit wp-config.php

Your password from Step 3.9 is stored in plain text, so don’t put it in your settings if possible. Instead, save it in your wp-config.php file for better security.

If you’re reading this article you should already know how to find & edit this file. Just add the lines below:

define( ‘WPMS_ON’, true );
define( ‘WPMS_SMTP_PASS’, ‘your_password’ );

Else if you’re unable to edit wp-config.php, go back to Step 3 part 9 and put your password there instead.

Step 5: Add an SPF record to your DNS server

This is important so that your emails are not marked as spam by the recipient’s inbox. 

Add the below TXT record to your DNS records, replacing the IP with your MXRoute email server IP, from Step 2:

v=spf1 ~all

If you already have an SPF record, just add in the component, e.g.

v=spf1 ~all

Step 6: Test!

Visit and copy the test email address.

Go back to WP SMTP and send a test to the above address.

Your result should come within 20 seconds and should be above 8.0 in order to ensure high inbox deliverability. To raise your antispam score, follow the suggestions listed in the results page.

Lastly, do a final test by signing up as a new user or sending a contact form on your website. If you get the email update in your inbox, congratulations, task complete!

Good luck!

Share via
Copy link
Powered by Social Snap